Babel-重复的模块依赖项

时间:2018-07-31 07:20:23

标签: babeljs node-modules parceljs

上下文

我有多个具有类似依赖性的自定义节点模块(我们称它们为m1m2),例如reactreact-dom。这些依赖项版本完全匹配。

对于编译,我使用parceljs,而babeljs则非常依赖babel-plugin-module-resolver进行转译,等等。

我当前的.babelrc文件是这样的:

{
  "presets": [["env", { "modules": false }], "react"],
  "plugins": [
    "transform-class-properties"
  ]
}

编译

$ parcel build src/index.js --target browser --detailed-report -o bundle

dist\bundle.js
├── node_modules\m1\dist\bundle.js (952.66 KB)
├── node_modules\m2\node_modules\react-dom\cjs\react-dom.production.min.js (112.64 KB)  <--
├── node_modules\react-dom\cjs\react-dom.production.min.js (112.64 KB)  <--
├── node_modules\m2\node_modules\lodash\lodash.js (68.63 KB)

问题

我们看到编译步骤包括两次react-dom:作为m1的依赖项,另一个作为m2的依赖项。

预期

我希望所需的模块每个都加载一次。

尝试

我已经尝试过像这样使用{{3}},但没有结果:

{
  "presets": [["env", { "modules": false }], "react"],
  "plugins": [
    "transform-class-properties",
    ["module-resolver", {
      "root": ["./src"],
      "alias": {
        "react": "./node_modules/react",
        "react-dom": "./node_modules/react-dom"
      }
    }]
  ]
}

0 个答案:

没有答案