您可能需要一个合适的加载器来处理此文件类型,目前没有配置加载器来处理此文件。”

IT技术 css reactjs
2021-05-04 04:13:00

我正在使用 yarn 将 webpack 设置为我的 react 项目,并且出现此错误:

./src/app.js 中的错误 67:6 module解析失败:意外令牌 (67:6) 您可能需要适当的加载程序来处理此文件类型,目前没有配置加载程序来处理此文件。https://webpack.js.org/concepts#loaders ℹ 「wdm」:编译失败。

webpack.config.js

const path = require("path");

module.exports = {
    entry: "./src/app.js",
    output: {
        path: path.join(__dirname, 'public'),
        filename: 'bundle.js'
    },
    module:{
        rules:[{
            loader: 'babel-loader',
            test: '/\.(js|jsx)$/',
            exclude: /node_modules/
        }]
    },
    devtool: 'cheap-module-eval-source-map',
    devServer: {
        contentBase: path.join(__dirname, 'public')
    }
}
.babelrc
{
    "presets": ["env", "react","@babel/preset-env"],
    "plugins": [
        "transform-class-properties"
    ]
}

包.json

{
  "name": "react",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "scripts": {
    "serve": "live-server public/",
    "build": "webpack",
    "dev-server": "webpack-dev-server"
  },
  "dependencies": {
    "babel-cli": "6.24.1",
    "babel-core": "6.25.0",
    "babel-plugin-transform-class-properties": "6.24.1",
    "babel-preset-env": "1.5.2",
    "babel-preset-react": "6.24.1",
    "live-server": "^1.2.1",
    "react": "^16.9.0",
    "react-dom": "^16.9.0",
    "webpack": "^4.39.3",
    "webpack-dev-server": "^3.8.0"
  },
  "devDependencies": {
    "@babel/core": "^7.6.0",
    "babel-loader": "^8.0.6",
    "webpack-cli": "^3.3.8"
  }
}
4个回答

您正在使用不必要的转义字符:这不是必需的。

替换 test: '/\.(js|jsx)$/', test: /\.js$|jsx/,它应该可以正常工作。

我在我的机器上复制了您的问题,发现相同的问题已通过上述修复解决。

希望这会有所帮助,编码愉快!!!

所选答案缺少一些细节:

它应该是 test: /\.js|\.jsx$/

\: is an escape character 在这种情况下 .

|: is an Alternation / OR operand

$: is end of line

希望这对你有用。

来源:https : //www.rexegg.com/regex-quickstart.html

这个错误发生在我身上只是因为文件被放置在项目的父文件夹中(即项目文件夹之外)。

将文件移动到适当的文件夹修复了它。

将 .babelrc 文件添加到 node_modules 文件夹所在的同一文件夹中,内容如下

{
  "presets": ["@babel/preset-react"]
}