前端资源的构建是非常重要的:资源在被压缩整合之后,更加易于维护;当发布到线上之后,整合好的资源可以极大的提高网站的性能:减少请求次数以加快响应和渲染速度,加上MD5让资源定位更加方便。
废话不多说:我们看看到底怎么做
假设我们拿到的是一个混乱的,基本没有结构的文件,里面包含了各种html、css、假设、还有可能有less、font等。这种结构让人看起来十分的头晕,必须有一个规范化的文件结构来约束,从而让别人看起来更加清晰,主要是也让维护变得更加的方便。
这是主要的fis-conf.js源码:
/**
* Created by huguantao on 15/8/11.
*/
fis.config.merge({
init: {
charset: 'utf8'
},
modules: {
parser: {
// styl后缀的文件使用fis-parser-stylus插件编译
styl: 'stylus',
// jade后缀的文件使用fis-parser-jade插件编译
jade: 'jade'
}
},
roadmap: {
ext: {
// styl编译以后后缀名改成css
styl: 'css',
// jade编译以后后缀名改成html
jade: 'html'
},
path: [ {
reg: '**.styl',
url: '$&'
}, {
reg: '**.png',
url: '$&'
}, {
reg: '**.jpg',
url: '$&'
}, {
reg: '**.js',
url: '$&'
}]
},
deploy: {
// 发布到当前项目的上一级的目录
local: {
// 发布到上一级的local目录
to: '../local'
//replace : {
// from : '/jimutimes',
// to : '',
//}
},
online: {
//发布到上一级的dist目录下
to: '../dist'
}
}
});
//fis.config.set('settings.spriter.csssprites.margin',20);
fis.config.set('modules.postpackager', 'simple');
fis.config.set('settings.postpackager.simple.autoCombine', true);
fis.config.set('settings.postpackager.simple.autoReflow', true);
fis.config.set('pack', {
'/pkg/lib.js': [
'/scripts/lib/html5shiv/**.js',
'scripts/lib/respond/**.js',
'/scripts/lib/wowjs/**.js',
'/scripts/lib/jquery/**.js',
'/scripts/lib/pacejs/**.js',
'/scripts/lib/bootstrap/**.js',
'/scripts/module/**.js',
],
'/pkg/lib.css': [
//'/css/lib/bootstrap/**.css',
'/css/lib/animate/**.css',
'/font-awesome/**.css',
'/css/module/**.styl',
]
});
之后使用fis release -omp -d loal/online即可发布带有MD5压缩并合并的资源。