fex-team / fis-pure

基于FIS的纯前端模块化解决方案
96 stars 48 forks source link

如何自己定义打包规则? #30

Open xianglgd opened 9 years ago

xianglgd commented 9 years ago

fis.config.set('pack', { 'pkg/lib.js': [ '/static/js/lib/.js', '/static/js/zepto.js' ], 'pkg/tool.js': [ '/static/js/tool/.js' ] }); 目前打包形式这样的。 可是我想让 widget 目录下的,每个目录 里面的 所有js ,(包括 更深层次的目录) 都打包放在 pkg/widget/目录名.js 。 怎么配置? 求告知。 例如: widget/$1/a/a.js ,widget/$1/b/c/b.js ,两个打包,放在 pkg/widget/$1.js 中。 后面可能继续加 文件夹 或者加深 目录层次, 但是都 用这个规则。

chyingp commented 8 years ago

@xianglgd 可以参考下面的做法,在 prepackager 阶段,动态生成pack配置

fis.config.merge({
    modules: {      
        prepackager: [function(ret, conf, settings, opt){           
            // conf 其实就是上面的pack 配置参数,fis.config.get('pack')
            // 动态生成pack设置
            conf['pkg/widget/$1.js'] = ['widget/$1/a/a.js', 'widget/$1/b/c/b.js'];          
        }],     
    },
        pack: {}
});