【发布时间】:2014-07-22 18:02:21
【问题描述】:
我有一个Angular 应用程序,我使用browserify 来管理我的依赖项。我也在使用momentjs 来完成我所有的时间操作。我有几个模块正在使用browserify 构建,但它不止一次地拉入momentjs,即使我使用external 命令也是如此。这是我的代码。首先,我有一个包含我所有共享库的基本模块:
require('angular');
require('angular-route');
require('moment');
这是我在gulpfile.js 中用于browserify 的代码:
browserify().require('./js/donor/donor-libs.js')
.bundle()
.pipe(source('donor-libs.js'))
.pipe(gulp.dest('./build'));
这构建得很好,并且具有我期望的库,包括 momentjs。
现在我去构建一个依赖于这个模块的模块。 momentjs 在本模块中使用。这是我用来构建模块的代码:
browserify().require('./js/donor/history-module.js')
.external('./js/donor/donor-libs.js')
.bundle()
.pipe(source(filename))
.pipe(gulp.dest('./build'));
现在,当我查看 build 目录时,momentjs 在 donor-libs.js 和 history-module.js 中都有。为什么它没有识别出我在momentjs 中已经在我的donor-libs.js 中需要?我需要做些什么才能只在第 3 方库中需要一次?我对external 命令有什么不明白的地方?
【问题讨论】:
标签: browserify