📅  最后修改于: 2023-12-03 14:59:27.423000             🧑  作者: Mango
babel-loader jsx SyntaxError: Unexpected token
解决方案当我们在使用webpack打包React应用时,常常会遇到SyntaxError: Unexpected token
这个错误。通常情况下,这是由于babel
未正确转换JSX代码引起的。下面我们将详细介绍如何解决这个错误。
首先,我们需要先了解错误信息的具体内容。错误信息通常有两种形式:
SyntaxError: Unexpected token
TypeError: Cannot read property
这里我们只关注第一种错误,它通常包含以下信息:
SyntaxError
Unexpected token
解决该错误,我们需要做以下几步:
首先,我们需要安装以下依赖:
npm install --save-dev @babel/core @babel/preset-env @babel/preset-react babel-loader
这些依赖需要保证和我们目前的webpack、react版本兼容。安装完成后我们需要在项目根目录下创建babel.config.js
文件,并添加以下内容:
module.exports = {
presets: ['@babel/preset-env', '@babel/preset-react'],
};
接下来,我们需要在webpack配置文件中添加以下配置:
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: ['babel-loader'],
},
]
}
这个配置将会让webpack通过babel-loader
来将JSX代码转换成JavaScript。注意:exclude
选项中排除了node_modules
,这是因为我们不希望将node_modules
中的模块也转换。
最后,我们需要重新启动webpack。如果你使用的是webpack-dev-server
,则需要运行以下命令:
npm run start
如果你使用的是webpack
,则需要运行以下命令:
npm run build && npm run server
通过以上步骤,我们可以成功解决babel-loader jsx SyntaxError: Unexpected token
这个错误。这里值得一提的是,作为程序员,遇到错误并不可怕,更重要的是要善于寻找解决方案。祝大家在开发过程中顺利!