
设置规则的配置接口:
fis.match(selector, props);
1.添加md5戳:对 js、css、png 图片引用 URL 添加 md5 戳:
fis.match('*.{js,css,png}', {
useHash: true
});
2.js压缩:使用fis-optimizer-uglify-js 插件,已内置
fis.match('*.js', {
optimizer: fis.plugin('uglify-js')
});
3.CSS压缩:使用fis-optimizer-clean-css 插件,已内置
fis.match('*.css', {
optimizer: fis.plugin('clean-css')
});
合并:
//合并打包需加
fis.match('::package', {
postpackager: fis.plugin('loader')
}); //css打包配置
fis.match('*.css', {
packTo: '/static/aio.css'
}); //js打包配置
fis.match('*.js', {
packTo: '/static/aio.js'
});
less的打包:
//less转换为css
fis.match('*.less', {
parser: fis.plugin('less'),
rExt: '.css'
}); //将less转换出来的css与其他css合并
fis.match('*.{less,css}', {
packTo: '/static/aio.css'
});
图片合并
对 CSS 中,路径带 ?__sprite 的图片进行合并,如:
li.list-1::before {
background-image: url('./img/list-1.png?__sprite');
} li.list-2::before {
background-image: url('./img/list-2.png?__sprite');
}
配置:
// 启用 fis-spriter-csssprites 插件
fis.match('::package', {
spriter: fis.plugin('csssprites')
}) // 对 CSS 进行图片合并
fis.match('*.css', {
// 给匹配到的文件分配属性 `useSprite`
useSprite: true
});
定位资源:
定位JS:所有的 js 发布到/static/js/xxx目录下
fis.match('**.js', {
release : '/static/js$0'
});
定位CSS:所有的 css 发布到/static/css/xxx目录下
fis.match('**.css', {
release : '/static/css$0'
});
定位图片:所有image目录下的.png,.gif文件发布到/static/pic/xxx目录下
fis.match('/img/(*.{png,gif})', {
release: '/static/pic/$1$2'
});