如何让Webpack需要根node_module而不是子包?

时间:2015-06-13 22:15:37

标签: backbone.js npm webpack

我已经安装了骨干和骨干。保姆通过npm。当我在我的脚本中使用骨干时:import Backbone from "backbone";它加载已安装的主干版本1.2.1。这工作正常,直到我想使用backbone.babysitter。当backbone.babysitter加载时,它需要为骨干本身添加属性。但是backbone.babysitter的包在自己的node_modules文件夹中导入了自己的主干作为依赖,这个主干在1.2.0上。因此,它将他的方法附加到我正在使用的不同主干上。

如何强制Webpack从backbone node_modules文件夹中获取backbone.babysitter的骨干?

2 个答案:

答案 0 :(得分:2)

找到workaround here

module.exports = {
  resolve: {
    alias: {
      'backbone': require.resolve('backbone')
    }
  }
}

答案 1 :(得分:0)

您可以使用NormalModuleReplacementPlugin将所有require('backbone')重新连接到根骨干模块。

plugins: [
  new webpack.NormalModuleReplacementPlugin(/^backbone$/, require.resolve('backbone')),
],