我有多个具有类似依赖性的自定义节点模块(我们称它们为m1
和m2
),例如react
或react-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"
}
}]
]
}