Ecmascript 6 意外标记{带有网页包4和@babel/preset env
这是我的Ecmascript 6 意外标记{带有网页包4和@babel/preset env,ecmascript-6,babeljs,webpack-4,babel-preset-env,Ecmascript 6,Babeljs,Webpack 4,Babel Preset Env,这是我的.babelrc: { "presets": [ "@babel/preset-env", "@babel/preset-react" ] } 下面是错误的来源。\client\src\components\AddBook.js: const{handleSubmit,pristine,reset,submiting}=this.props; 错误消息 11 | } 12 | > 13 | const { handleSubmit,
.babelrc
:
{
"presets": [
"@babel/preset-env",
"@babel/preset-react"
]
}
下面是错误的来源。\client\src\components\AddBook.js:
const{handleSubmit,pristine,reset,submiting}=this.props;
错误消息
11 | }
12 |
> 13 | const { handleSubmit, pristine, reset, submitting } = this.props;
| ^
14 |
15 | const handleSubmit = (allValues) => {
16 | console.log('formData:', allValues);
我以为@babel/preset env
会处理所有最新的JavaScript语法。是什么让代码中断的?
您的
上有完整的repo。babelrc
没有明确定义应该为哪些浏览器/版本传输代码
根据您的需要调整以下示例.babelrc
:
{"presets": [
[ "@babel/preset-env", {
"targets": {
"browsers": ["last 1 version", "ie >= 11"]
},
"@babel/preset-react"
]
]}
此外,在使用webpack时,您需要明确告诉巴贝尔加载器要尊重.babelrc
,以及它的位置
loader: 'babel-loader',
options: {
babelrc: path.join(process.cwd(), './babelrc')
}
,假设.babelrc
位于项目的根目录中。谢谢。我已将.babelrc
调整为{“预设”:[[“@babel/preset env”,“{”targets:{“浏览器”:[“最后2个版本”,“Firefox>=50”]},@babel/preset react”]}
我在Firefox 50上。现在获得[1]3 |从“/components/App”;[1]4 |[1]>5 | ReactDOM.render(,document.getElementById('App');[1]| ^
它抱怨这与网页配置中的加载器:“巴贝尔加载器”
有关吗?你需要明确告诉巴贝尔加载器
以尊重.babelrc
以及它的位置。加载器:“巴贝尔加载器”,选项:{babelrc:path.join(process.cwd(),'./babelrc')}
,asumming。babelrc
位于项目的根目录中。