fis3 打包问题

发布于 2022-09-04 03:14:06 字数 2138 浏览 35 评论 0

使用fis3打包, 打包顺序问题,目的是使打包出来framework.js里面顺序与配置顺序一样

  1. 设置 packOrder

  2. 声明依赖

//声明依赖
var app = angular.module('test',[
    "ngTouch",
    "ui.router"
]); //要不要这个依赖 打包结果一样
 ......

fis.match(createGlobPatternSet([
        'framework/js/bower_components/angular/angular.js',
        'framework/js/bower_components/angular-ui-router/release/angular-ui-router.js'
    ]), {
        packTo: 'framework/framework.js'
    })
    .match(createGlobPatternSet([
        'framework/app.js',
        'framework/js/services/**.js',
        'framework/js/directive/**.js',
        'framework/js/filters/**.js',
        'framework/js/providers/**.js'
    ]), {
        packTo: 'framework/component.js'
    });
    
    function createGlobPatternSet(arr) {
        return "{" + arr.join(',') + "}";
    }
    
    
     .match(createGlobPatternSet([
        'framework/js/bower_components/angular/angular.js',
        'framework/js/bower_components/angular-touch/angular-touch.js',
        'framework/js/bower_components/angular-ui-router/release/angular-ui-router.js'
    ]), {
        packTo: 'framework/framework.js'
    })
    .match('framework/js/bower_components/angular/angular.js', {
      packOrder: 100
    }) //并没有影响
    
    
   
   
    .match('::package', {
    packager: fis.plugin('map', {
    'framework/framework.js': [
    'framework/js/bower_components/angular/angular.js',
    'framework/js/bower_components/angular-touch/angular-touch.js',
    'framework/js/bower_components/angular-ui-router/release/angular-ui-router.js'
    ]
    })
    })
    // 自动替换合并文件的插件
    .match('::packager', {
        postpackager: fis.plugin('loader', {
            allInOne: true
        })
    }); //依旧没有用
    
    
    
    framework.js 顺序
    ;/*!/framework/js/bower_components/angular-touch/angular-touch.js*/
    ;/*!/framework/js/bower_components/angular-ui-router/release/angular-ui-router.js*/
    ;/*!/framework/js/bower_components/angular/angular.js*/
    ......

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小镇女孩 2022-09-11 03:14:06

其实packOrder应该是这么用的

比如说我要合并one.js和two.js到all.js

fis.match('one.js',{
    packOrder:1,
    packTo:'all.js'
}).match('two.js',{
    packOrder:2,
    packTo:'all.js'
});

关于评论里说到多个文件的问题:我之前尝试过在项目从fis到fis3迁移时搞的配置

/*
 pack:{
    'all.js':[
        'one.js',
        'two.js'
    ],
    'all2.js':[
        '1.js',
        '2.js'
    ]
  }
*/
var FilePack = function(pack){
    var _this = this;
    for(var packPath in pack){
        var filesPath = pack[packPath];
        filesPath.forEach(function(e, i){
            _this.match(e,{
                packOrder:i,
                packTo : packPath
             });
        });
    }
    return this;
};
fis.media('prd').FilePack = fis.media('pro').FilePack = FilePack;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文