给babel-loader添加配置,让它能够正确解析和转译JSX语法。
具体方法如下,在webpack配置文件中,添加以下内容:
module: {
rules: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env', '@babel/preset-react']
}
}
}
]
}
在options选项中,使用了@babel/preset-env和@babel/preset-react两个预设。@babel/preset-env用于将ES6+的代码转换成ES5,@babel/preset-react用于转换JSX为普通的JavaScript代码。
需要注意的是,如果项目中已经有 babelrc 或者是 babel.config.js 可能会导致babel-loader不生效,可以直接在webpack配置中写入babel-loader的配置。