T. *_*ech 5 javascript ecmascript-6 webpack babeljs babel-loader
我有一个应用程序模块和几个模块共享的通用模块。
- app
- src
- package.json
- webpack.config.json
- .babelrc
- common
- lib
- package.json
- .babelrc
Run Code Online (Sandbox Code Playgroud)
app / package.json
dependencies: {
common: "../common"
},
devDependencies: {
...othe deps,
"babel-plugin-transform-object-rest-spread": "^6.23.0",
}
Run Code Online (Sandbox Code Playgroud)
common / package.json
devDependencies: {
..other deps,
"babel-plugin-transform-object-rest-spread": "^6.23.0",
}
Run Code Online (Sandbox Code Playgroud)
通用代码在es6中,需要在应用中进行编译,因此webpack.config.js包含
{
test: /\.js/,
exclude: /node_modules\/(?!(ui-common|ui-server-common)\/).*/,
loader: 'babel-loader',
},
Run Code Online (Sandbox Code Playgroud)
如果我在通用模块中然后在应用程序模块中运行yarn install,则一切正常。它复制了通用模块的完整node_modules,因此它包含所有开发部门,包括babel-plugin-transform-object-rest-spread。
如果我从通用模块中删除node_modules,运行yarn install app模块,则仅复制prod依赖项,而app / node_modules / common / node_modules中缺少babel-plugin-transform-object-rest-spread。然后我得到
Module build failed: ReferenceError: Unknown plugin "transform-object-
rest-spread" specified in "/Users/blaf/projects/management-
ui/ui-common/.babelrc" at 0, attempted to resolve relative to
"/Users/blaf/projects/management-ui/ui-common"
Run Code Online (Sandbox Code Playgroud)
因为app / node_modules / common / node_modules中缺少babel-plugin-transform-object-rest-spread。该软件包已经在app / node_modules中,因此应该没有问题,但是babel希望它在普通软件包中正确吗?如何告诉babel使用根级别依赖关系?
归档时间: |
|
查看次数: |
976 次 |
最近记录: |