这里抱着错误是由于 babel 的版本冲突。javascript
可能是由于你的 babel 依赖包不兼容。html
能够查看你的 package.json 的依赖列表java
即有 babel 7.0 版本的( @babel/core , @babel/preset-react )node
也可命令查看 bebel-cli 的版本 ( babel -V )react
也有 babel 6.0 版本的 ( babel-core@6.26.0 , babel-cli@6.26.0 , babel-preset-react@6.24.1 )npm
若是在你的 package.json 依赖包中既有 babel 7.0 版本,又有 babel 6.0 版本,就会报这个错误json
很现实就是两个版本是不兼容的babel
一、升级到 babel 7.0spa
将全部有关 babel 的包都升级为 7.0 版本code
1
2
3
4
5
6
|
"@babel/core"
:
"^7.0.0-beta.40"
,
"@babel/cli"
:
"^7.0.0-beta.40"
,
"babel-loader"
:
"^8.0.0-beta.0"
,
"babel-plugin-lodash"
:
"^3.3.2"
,
"babel-plugin-react-transform"
:
"^3.0.0"
,
"@babel/preset-react"
:
"^7.0.0-beta.40"
,<br>
"@babel/preset-stage-0"
:
'^7.0.0'
|
而且修改 .babelrc 文件
对应的修改 presets 预设和 plugins 都改成 7.0 形式。
1
2
3
4
|
query: {
presets: [
'@babel/react'
,
'@babel/stage-0'
],
plugins: [
''
]
}
|
二、降级到 babel 6.0 版本
有时候咱们看们的 package.json 里面都是 babel 6.0 版本的。
以下:
1
2
3
4
5
|
"babel-core"
:
"^6.26.0"
,
"babel-loader"
:
"^7.1.2"
,
"babel-plugin-transform-runtime"
:
"^6.23.0"
,
"babel-preset-env"
:
"^1.6.1"
,
"babel-preset-stage-0"
:
"^6.24.1"
,
|
可是仍是报错,为何呢?
你不妨把 node_modules 删掉,从新 install ,这样就能够处理一部分兼容问题
若是上面的方法仍是不行。
你能够查看一下 babel-cli 的版本
1
|
babel -V
|
若是是 babel-cli 7.0 版本。
那你就从新安装全局和本地的 babel-cli 版本为 6.0
1
2
3
|
npm install -g babel-cli@6.26.0
yarn add babel-cli@6.26.0
|