📌  相关文章
📜  babel-loader jsx SyntaxError: Unexpected token [duplicate] - Javascript (1)

📅  最后修改于: 2023-12-03 14:59:27.423000             🧑  作者: Mango

babel-loader jsx SyntaxError: Unexpected token 解决方案

当我们在使用webpack打包React应用时,常常会遇到SyntaxError: Unexpected token这个错误。通常情况下,这是由于babel未正确转换JSX代码引起的。下面我们将详细介绍如何解决这个错误。

错误信息

首先,我们需要先了解错误信息的具体内容。错误信息通常有两种形式:

  1. 语法错误: SyntaxError: Unexpected token
  2. 词义错误: TypeError: Cannot read property

这里我们只关注第一种错误,它通常包含以下信息:

  • 错误类型:SyntaxError
  • 错误描述:Unexpected token
  • 错误位置:在文件的第x行,第y列
解决方案

解决该错误,我们需要做以下几步:

步骤1:安装依赖

首先,我们需要安装以下依赖:

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'],
};
步骤2:修改webpack配置

接下来,我们需要在webpack配置文件中添加以下配置:

module: {
  rules: [
    {
      test: /\.(js|jsx)$/,
      exclude: /node_modules/,
      use: ['babel-loader'],
    },
  ]
}

这个配置将会让webpack通过babel-loader来将JSX代码转换成JavaScript。注意:exclude选项中排除了node_modules,这是因为我们不希望将node_modules中的模块也转换。

步骤3:重启webpack

最后,我们需要重新启动webpack。如果你使用的是webpack-dev-server,则需要运行以下命令:

npm run start

如果你使用的是webpack,则需要运行以下命令:

npm run build && npm run server
结论

通过以上步骤,我们可以成功解决babel-loader jsx SyntaxError: Unexpected token这个错误。这里值得一提的是,作为程序员,遇到错误并不可怕,更重要的是要善于寻找解决方案。祝大家在开发过程中顺利!