Gruntjs browserify捆绑包中的多个节点模块

Gruntjs browserify捆绑包中的多个节点模块,gruntjs,browserify,Gruntjs,Browserify,我正在使用不同的依赖项(如page、superagent、vue)处理客户端项目。为了优化grunt browserify任务的速度,我想在一个文件中创建一个包含所有这些依赖项的包,比如lib.js。我的源代码将在app.js中编译。然后,我想我必须将这两个都包含到build.js中。使用此设置,grunt只需更新app.js和build.js),而不必更新lib.js。这也意味着对于lib.js中包含的每个依赖项,我仍然需要(dep) 我读过一些关于它的文章,但我无法使它起作用 我当前的浏览任

我正在使用不同的依赖项(如page、superagent、vue)处理客户端项目。为了优化grunt browserify任务的速度,我想在一个文件中创建一个包含所有这些依赖项的包,比如lib.js。我的源代码将在app.js中编译。然后,我想我必须将这两个都包含到build.js中。使用此设置,grunt只需更新app.js和build.js),而不必更新lib.js。这也意味着对于lib.js中包含的每个依赖项,我仍然需要(dep)

我读过一些关于它的文章,但我无法使它起作用

我当前的浏览任务是:

browserify: {
        dev: {
            files: {
                'build/app.js': ['src/**/*.js', 'src/**/*.html']
            },
            options: {
                debug: true,
                external: ['vue', 'superagent', 'page']
            }
        }
    }
我尝试添加类似的内容,但没有成功:

browserify: { // the dev target is still there
        lib: {
            files: {
                'build/lib.js': ['vue', 'superagent', 'page']
            }
        }
    }
我知道它不起作用,因为我的文件对象不正确,但是我不知道如何自动获取每个依赖项的主文件


任何帮助都将不胜感激。谢谢

我终于想到了如何为bower组件实现这一点(尚未对npm模块进行测试)

首先,libs browserify任务(以TweenMax为例):

然后,应用程序任务:

dev: {
    files: {
        'build/public/desktop/desktop.js': ['src/desktop/**/*.js']
    },
    options: {
        external: ['TweenMax']
    }
}
为每个库制作垫片或别名很重要。当我第一次尝试创建外部bundle时,我使用了几个browserify转换(例如debowerify/deglobalify),它们会干扰外部事物

dev: {
    files: {
        'build/public/desktop/desktop.js': ['src/desktop/**/*.js']
    },
    options: {
        external: ['TweenMax']
    }
}