首页 > 解决方案 > 在 webpack 配置中反应的 jsx 是错误的,这表明没有配置加载程序来处理这个文件

问题描述

详细错误是

./src/index.js 中的错误 4:10 模块解析失败:意外令牌 (4:10) 您可能需要适当的加载程序来处理此文件类型,目前没有配置加载程序来处理此文件。

| import ReactDOM from 'react-dom';
| const A = () => {
>   return (<div>123</div>)
| }
| ReactDOM.render(<A />, document.getElementById('example'));

es6 语法可以更改为 es5,并且只有当我<div></div>在反应页面中写类似 html 标记时,错误才会显示这是我的 package.json 配置

  "scripts": {
    "build": "webpack --mode development",
    "dev": "npx webpack-dev-server"
  },
  "devDependencies": {
    "@babel/core": "^7.13.16",
    "@babelugin-proposal-class-properties": "^7.13.0",
    "@babelugin-proposal-decorators": "^7.13.15",
    "@babelugin-proposal-object-rest-spread": "^7.13.8",
    "@babelugin-transform-runtime": "^7.13.15",
    "@babel/preset-env": "^7.13.15",
    "@babel/preset-react": "^7.13.13",
    "@svgr/webpack": "^5.3.0",
    "babel-loader": "^8.2.2",
    "babel-plugin-transform-react-jsx": "^6.24.1",
    "babel-preset-es2015": "^6.24.1",
    "clean-webpack-plugin": "^3.0.0",
    "css-loader": "^5.0.1",
    "detect-port": "^1.3.0",
    "file-loader": "^4.2.0",
    "html-webpack-plugin": "^3.2.0",
    "inquirer": "^6.5.0",
    "less": "^3.12.2",
    "less-loader": "^7.0.2",
    "mini-css-extract-plugin": "^0.9.0",
    "react": "^16.11.0",
    "react-dom": "^16.11.0",
    "source-map-loader": "^0.2.4",
    "style-loader": "^2.0.0",
    "webpack": "^4.41.2",
    "webpack-cli": "^3.3.9",
    "webpack-dev-server": "^3.9.0"
  }
}

这是我的 webpackconfig

module.exports = {
  entry: '.c/index.js',
  module: {
    rules: [
      {
        test: /\.(js|jsx)$/,
        exclude: de_modules/,
        use: ['babel-loader']
      }
    ]
  },
  resolve: {
    extensions: ['*', '.js', '.jsx']
  },
  output: {
    path: __dirname + '/dist',
    publicPath: '/',
    filename: 'bundle.js'
  },
  devServer: {
    contentBase: './dist'
  },
  mode: 'development'
};

这是我的反应页面

import ReactDOM from 'react-dom';
const A = () => {
  return (<div>123</div>)
}
ReactDOM.render(<A />, document.getElementById('example'));

那么,我应该如何更改文件

标签: javascriptreactjswebpack

解决方案


推荐阅读