全部,我正在转换为create-react-app 2.1.1,它需要Webpack 7.0.0作为依赖项。但是,当我将应用程序从Babel 6转换为Babel 7时,出现此错误:
该错误来自我的node_modules中的@ babel / runtime内部,我希望将其忽略。
这是使用babel-register require()
的原始代码:
这是使用@ babel / register require()
的更新代码,
这是我的package.json:
```
{
"name": "klaw-boilerplate-mernt",
"version": "0.1.0",
"private": true,
"dependencies": {
"@babel/core": "^7.1.6",
"@babel/helper-module-transforms": "^7.1.0",
"@babel/register": "^7.0.0",
"@babel/runtime": "^7.1.0",
"@babel/plugin-transform-runtime": "^7.1.0",
...
},
"devDependencies": {
...
}
}
```
答案 0 :(得分:0)
我遇到了同样的问题,并且能够解决此问题。
// server/index.js
require("ignore-styles");
require("url-loader");
require("file-loader");
require("@babel/polyfill");
require("@babel/register");
// your custom stuff
就我而言,我将 presets 行移到了.babelrc
文件中,但这没关系。
// .babelrc
{
"presets": ["@babel/env", "@babel/preset-react"]
}
卸载syntax-dynamic-import
,dynamic-import-node
,react-loadable/babel
和react-app
。
据我了解,由于这些版本较旧,因此不兼容,从而导致错误。 node_modules
默认情况下被忽略。
以下是package.json
中的重要条目。
{
"dependencies": {
"@babel/polyfill": "^7.2.5",
"@babel/preset-env": "^7.2.3",
"@babel/preset-react": "^7.0.0",
"@babel/register": "^7.0.0",
"file-loader": "^3.0.1",
"url-loader": "^1.1.2",
}
}
其中一些名称在使用时也可以缩写,但我希望保留全名