Closed kevin1220 closed 7 years ago
在 fis 里面只能引用源码里面的文件,不能引用编译后生成的文件。正确的方式是 fis 的源码不变,不管打包与否,
html
<script src="1.js" />
<script src="2.js" />
fis3 在打包情况下会编译成
<script src="pkg-1.js" />
这个替换过程对于纯前端项目来说是 loader 插件完成,对于跟后端打通的项目如: fis3-smarty fis3-jello, yog2 是后端完成的。
@2betop 想问下这个是必须得安装一个loader插件,才会把模板文件中待合并的文件替换成合并完成的产文件么?
比如说下面这个样子的:
<link rel="stylesheet" type="text/css" href="../public/lib_css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="../public/lib_css/jquery.datetimepicker.css">
<link rel="stylesheet" type="text/css" href="../public/css/index.css">
fis的配置如下:
fis.match('::package', {
packager: fis.plugin('map', {
'/public/static/css/lib.css': [
'/public/lib_css/bootstrap.min.css',
'/public/lib_css/jquery.datetimepicker.css',
'/public/css/index.css'
]
})
});
必须安装插件,才可以把模板文件(前面代码中的那三个静态文件路径)替换为合并后的静态文件么?
<link rel="stylesheet" type="text/css" href="/public/static/css/lib.css">
困惑好几天了,求指教
需要使用这个loader插件来解决为题https://github.com/fex-team/fis3-postpackager-loader
需要插入特定位置的时候,就加标识
{% block statichead %}
<!--STYLE_PLACEHOLDER--> 这里就是标识合并以后的文件插入模板的位置
<!--<link rel="stylesheet" type="text/css" href="../public/static/css/lib.css">-->
<link rel="stylesheet" type="text/css" href="../public/lib_css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="../public/lib_css/jquery.datetimepicker.css">
<link rel="stylesheet" type="text/css" href="../public/css/index.css">
{% endblock %}
我把所有的css文件打包成了lib.css之后,在页面中引用lib.css的时候是没有问题,但是加上md5戳之后,在页面上引用的时候,不会自动定位到对应的资源文件,其他的没打包的静态资源都会自动加上,并自动定位到对应的资源,这是为什么呢