如何使用grunt-browserify创建供应商捆绑包

时间:2015-03-21 16:50:39

标签: javascript gruntjs browserify grunt-browserify

我正在开发一个需要多个第三方库的单页应用。为了减少构建时间,我正在尝试创建两个单独的bundle:一个用于libs代码,另一个用于app代码。我的构建过程使用grunt-browserify来生成包。这是我的browserify任务(我正在使用grunt-load-tasks来模块化我的Grunt任务):

var libs = [
    'backbone',
    'backbone-relational',
    'backbone.babysitter',
    'backbone.wreqr',
    'bootstrap',
    'bootstrap-growl',
    'handlebars',
    'jquery',
    'marionette',
    'underscore'
];

module.exports = {
    options: {
        external: libs
    },
    libs: {
        src: [],
        dest: './build/js/libs.js',
        options: {
            external: null,
            require: libs
        }
    },
    app: {
        src: ['./frontend/js/app.coffee'],
        dest: './build/js/app.js',
        options: {
            browserifyOptions: {
                debug: true,
                extensions: ['.coffee'],
            },
            watch: true
        }
    }
}

这成功创建了两个单独的包,并且在页面上包含包后我的应用程序正常运行。但是我注意到,当我希望它们只包含在libs.js包中时,libs.js包和app.js包中都包含Backbone和Handlebars。知道我做错了吗?

0 个答案:

没有答案