3

我想将所有供应商库(如 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的大小,这是一个重要的问题。

谁能帮我解决它?

4

0 回答 0