我想将所有供应商库(如 jQuery、moment.js、bootstrap.js 等)代码放入vendor.js文件并从中导出 jQuery 以在其他模块中重用它。
由于 bootstrap 依赖于 jQuery,我对这两个模块进行了调整并配置了依赖项:
包.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"
垫片配置.js
'use strict';
module.exports = {
'jquery' : 'jQuery',
'bootstrap' : { 'depends': { 'jquery': 'jQuery'} }
};
重用jQuery作为外部依赖项我在require
方法调用中指定它,当构建我的vendor.js
build
.require('jQuery')
.bundle()
.pipe(source('vendors.js'))
.pipe(gulp.dest('build/public/js'))
.pipe(plumber({
errorHandler: helpers.logError
}));
在构建vendor.js之后,我发现jQuery代码被包含到vendor.js 中两次:一次是解决依赖关系,另一次是导出库。考虑到jQuery的大小,这是一个重要的问题。
谁能帮我解决它?