0

我正在使用汇总来构建一个依赖于 jquery 和骨干网的库。花了三个星期来构建它,但现在我意识到我的捆绑代码包含 jquery 的源代码和其中的主干。因此,将我的库包含在已经有 jquery 的页面上只会使 jquery 翻倍,从而导致很多不必要的膨胀。

开发人员如何处理这个问题?

4

1 回答 1

1

在这种情况下,最好将 jQuery 和 Backbone 排除在包之外,并按照以下方式进行配置:

// rollup.config.js
export default {
  entry: 'src/main.js',
  moduleName: 'myLibrary',
  targets: [
    { dest: 'dist/my-library.umd.js', format: 'umd' },  // pkg.main
    { dest: 'dist/my-library.es.js', format: 'es' } // pkg.module
  ],
  external: [ 'jquery', 'backbone' ],
  globals: {
    jquery: 'jQuery',
    backbone: 'Backbone'
  }
};

这样,如果有人将应用程序与您的库捆绑在一起,jQuery 和 Backbone 将被包含,但只包含一次。另一方面,如果您的库作为<script>标签包含在内,那么只要<script>事先还有 jQuery 和 Backbone 的标签,它就可以工作。

于 2017-03-02T01:35:13.053 回答