我尝试将 Webpack 和 Babel 分别升级到 4、7,但无法正常工作。还有official doc对升级没有太大帮助。
我遇到以下问题
compiler error: ERROR in Cannot find module '@babel/core' @ multi main
我正在使用的依赖项:
"babel-core": "^6.26.3",
"babel-eslint": "^9.0.0",
"babel-loader": "^8.0.0",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-plugin-transform-object-rest-spread": "^6.26.0",
"babel-polyfill": "^6.26.0",
"babel-preset-env": "^1.7.0",
"babel-preset-react": "^6.24.1",
"webpack": "^4.15.0",
"webpack-cli": "^3.0.8",
"webpack-dev-server": "^3.1.4"
接下来我可以尝试什么?
最佳答案
在 node@10.15.3、npm@6.4.1 和 babel@7.4.0 上测试
您可以使用以下脚本。 (仅限节点 5+ 上的 npx)
npx babel-upgrade --write
--write 标志将更新写入 package.json 和 .babelrc。
您最终将对 package.json 进行以下修改:
"devDependencies": {
"@babel/core": "^7.4.0",
"@babel/plugin-proposal-class-properties": "^7.0.0",
"@babel/plugin-proposal-json-strings": "^7.0.0",
"@babel/plugin-proposal-private-methods": "^7.4.0",
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
"@babel/plugin-syntax-import-meta": "^7.0.0"
}
.babelrc
{
"plugins": [
"@babel/plugin-syntax-dynamic-import",
"@babel/plugin-syntax-import-meta",
[
"@babel/plugin-proposal-class-properties"
],
"@babel/plugin-proposal-json-strings",
[
"@babel/plugin-proposal-private-methods"
]
]
}
在上述插件中,如果您选择实现私有(private)属性,则需要 @babel/plugin-proposal-class-properties @babel/plugin-proposal-private-methods
才能使私有(private)属性正常工作。
如果您使用 eslint,请不要忘记将解析器设置为 babel-eslint,就像在 .eslintrc 文件中一样:
{
"parser": "babel-eslint"
}
关于reactjs - 如何升级到 Babel 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52157996/