vue-cli项目运行npm run dev / npm run serve后报错:
Error: Rule can only have one resource source (provided resource and test + include + exclude) in {
  "exclude": [
    null
  ],
  "use": [
    {
      "loader": "G:\CustomerDay\customerday
 
ode_modules\cache-loader\dist\cjs.js",
 “options”: {
 “cacheDirectory”: “G:\CustomerDay\customerday
 ode_modules.cache\babel-loader”,
 “cacheIdentifier”: “f25d7318”
 },
 “ident”: “clonedRuleSet-38[0].rules[0].use[0]”
 },
 {
 “loader”: “G:\CustomerDay\customerday
 ode_modules\babel-loader\lib\index.js”,
 “options”: “undefined”,
 “ident”: “undefined”
 }
 ]
 }
 Error: Rule can only have one resource source (provided resource and test + include + exclude) in {
 “exclude”: [
 null
 ],
 “use”: [
原因:
某些新版本的库要求 webpack@5,更新依赖时,根据依赖选择的规则,就以 webpack@5 作为主依赖安装。然而 @vue/cli 依赖 webpack@4,它自带的 webpack 配置无法兼容 webpack@5 ,于是就报错,不能继续编译。如果你也在使用 @vue/cli,那么请不要贸然升级 webpack@5。
解决方案:
- 先删掉 node_modules 和 package-lock.json
 - 手动在 package.json 的 devDependencies 里添加 “webpack”: “^4.23.0”,
 - 重新安装全部依赖: npm install
 - 重新运行,发现问题解决
 
参考文章:
 https://blog.meathill.com/fe-tool-chain/how-to-fix-error-rule-can-only-have-one-resource-source-provided-resource-and-test-include-exclude.html










