1.为什么会报错?
这里报错是因为babel的版本冲突。
官方文档注明:babel-loader 8.x | babel 7.x
npm install -D babel-loader @babel/core @babel/preset-env
babel-loader 7.x | babel 6.x
npm install -D babel-loader@7 babel-core babel-preset-env
2.处理方法
(1)升级babel到babel7.0
将所有有关babel的包都升级为7.0版本
"@babel/core": "^7.2.2",
"@babel/preset-env": "^7.3.1",
"@babel/preset-react": "^7.0.0",
"babel-loader": "^8.0.5",
并且修改.babel文件
{ "presets":["@babel/react","@babel/env",]}
(2)降级到babel6.0版本
"babel-core": "^6.26.3",
"babel-preset-env": "^1.7.0",
"babel-preset-react": "^6.24.1",
"babel-loader": "^7.1.5",
对应修改.babelrc文件
{ "presets": ["react", "env"]}
总结:babel舍弃了以前的babel-*-*的命名方式,改成了@babel/*-*。修改依赖和.babelrc文件后就能正常启动项目了。babel-core7.0之后,包名升级为@babel/core。