npm install some-npm-module -g --registry=国内镜像 --disturl=https://npm.taobao.org/dist这些东西官方网站都有提到,就不多说啦。出门左转去这里:https://github.com/fex-team/fis/issues/65这次好了,安装好了,fis -v三、遇到问题装好了后那就开始在项目中用吧,这才发现自己太年轻。。。。。。1、配置直接使用fis release -md ../output,好了开始生成与发布。结果完蛋了,不管阿猫阿狗全部js/CSS/imgs都添加了md5戳。这可就麻烦了,完全不是自己想要的,也就是说直接通过一个工具一键解决加Md5戳的问题太理想了。那么只好去研究官方的文档,了解具体的配置方式。在FIS中都是通过fis-conf.js这个文件来进行配置。官方例子:
// 设置图片合并的最小间隔fis.config.set('settings.sPRiter.csssprites.margin', 20);// 取消下面的注释开启simple插件,注意需要先进行插件安装 npm install -g fis-postpackager-simplefis.config.set('modules.postpackager', 'simple');// 取消下面的注释设置打包规则fis.config.set('pack', { '/pkg/lib.js': [ 'js/lib/jquery.js', 'js/lib/underscore.js', 'js/lib/backbone.js', 'js/lib/backbone.localStorage.js', ], // 取消下面的注释设置CSS打包规则,CSS打包的同时会进行图片合并 '/pkg/aio.css': '**.css'});// 取消下面的注释可以开启simple对零散资源的自动合并fis.config.set('settings.postpackager.simple.autoCombine', true); |
fis.config.merge({ roadmap : { path : [ { //所有widget目录下的js文件 reg : 'widget/**.js', //是模块化的js文件(标记为这种值的文件,会进行amd或者闭包包装) isMod : true, //默认依赖lib.js requires : [ 'lib.js' ], //向产出的map.json文件里附加一些信息 extras : { say : '123' }, //编译后产出到 /static/widget/xxx 目录下 release : '/static$&' }, { //所有的js文件 reg : '**.js', //发布到/static/js/xxx目录下 release : '/static/js$&' }, { //所有的ico文件 reg : '**.ico', //发布的时候即使加了--md5参数也不要生成带md5戳的文件 useHash : false, //发布到/static/xxx目录下 release : '/static$&' }, { //所有image目录下的.png,.gif文件 reg : /^//images//(.*/.(?:png|gif))/i, //访问这些图片的url是 '/m/xxxx?log_id=123' url : '/m/$1?log_id=123', //发布到/static/pic/xxx目录下 release : '/static/pic/$1' }, { //所有template目录下的.php文件 reg : /^//template//(.*/.php)/i, //是类html文件,会进行html语言能力扩展 isHtmlLike : true, //发布为gbk编码文件 charset : 'gbk', //发布到/php/template/xxx目录下 release : '/php/template/$1' }, { //前面规则未匹配到的其他文件 reg : /.*/, //编译的时候不要产出了 release : false } ] }}); |
新闻热点
疑难解答