【问题标题】:How to let Webpack require a root node_module instead of an child package?如何让 Webpack 需要根节点模块而不是子包?
【发布时间】:2015-06-13 22:15:37
【问题描述】:

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

我如何强制 Webpack 要求来自根目录 node_modules 的主干文件夹用于主干.babysitter?

【问题讨论】:

    标签: backbone.js npm webpack


    【解决方案1】:

    找到workaround here

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2016-11-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-14
        • 2022-01-03
        • 2018-01-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多