我想将所有供应商库(如jQuery,moment.js,bootstrap.js等)代码放入 vendors.js 文件中,并从中导出jQuery以在其他模块中重用它。
因为bootstrap依赖于jQuery,所以我给两个模块打了电话并配置了依赖项:
的package.json
"browser": {
"bootstrap": "./node_modules/bootstrap/dist/js/bootstrap.js",
"jquery": "./node_modules/jquery/dist/jquery.js"
},
"browserify": {
"transform": [
"browserify-shim"
]
},
"browserify-shim": "gulp/utilities/shim-config.js"
垫片config.js
'use strict';
module.exports = {
'jquery' : 'jQuery',
'bootstrap' : { 'depends': { 'jquery': 'jQuery'} }
};
重新使用 jQuery 作为外部依赖项我在require
方法调用中指定了它,当构建我的 vendors.js
build
.require('jQuery')
.bundle()
.pipe(source('vendors.js'))
.pipe(gulp.dest('build/public/js'))
.pipe(plumber({
errorHandler: helpers.logError
}));
在构建 vendors.js 之后,我发现, jQuery 代码被包含在 vendors.js 中两次:一次解决依赖关系,一次更多时间出口图书馆。考虑到 jQuery 的大小,这是一个重要问题。
任何人都可以帮我解决一下吗?