Nuxt安装报错:规则只能有一个资源源(提供资源和测试+包含+排除)
Posted
技术标签:
【中文标题】Nuxt安装报错:规则只能有一个资源源(提供资源和测试+包含+排除)【英文标题】:Nuxt installation error : Rule can only have one resource source (provided resource and test + include + exclude) 【发布时间】:2021-02-13 14:37:00 【问题描述】:我成功安装了 Vuejs 和 Nodejs,但是在安装 Nuxtjs 时遇到了问题。这就是我得到的。我已经问了一些朋友,但没有成功。谢谢你的帮助 ! :)
错误:规则只能有一个资源来源(提供的资源和测试+包含+排除)
Rule can only have one resource source (provided resource and test + include + exclude) in
"use": [
"loader": "C:\\Users\\User\\Desktop\\JS\\my-first-project\\node_modules\\babel-loader\\lib\\index.js",
"options":
"configFile": false,
"babelrc": false,
"cacheDirectory": true,
"envName": "server",
"presets": [
[
"C:\\Users\\User\\Desktop\\JS\\my-first-project\\node_modules\\@nuxt\\babel-preset-app\\src\\index.js",
"corejs":
"version": 3
]
]
,
"ident": "clonedRuleSet-30[0].rules[0].use[0]"
]
"use": [
"loader": "C:\\Users\\User\\Desktop\\JS\\my-first-project\\node_modules\\babel-loader\\lib\\index.js",
"options":
"configFile": false,
"babelrc": false,
"cacheDirectory": true,
"envName": "server",
"presets": [
[
"C:\\Users\\User\\Desktop\\JS\\my-first-project\\node_modules\\@nuxt\\babel-preset-app\\src\\index.js",
"corejs":
"version": 3
]
]
,
"ident": "clonedRuleSet-30[0].rules[0].use[0]"
]
at checkResourceSource (node_modules\@nuxt\webpack\node_modules\webpack\lib\RuleSet.js:167:11)
at Function.normalizeRule (node_modules\@nuxt\webpack\node_modules\webpack\lib\RuleSet.js:198:4)
at node_modules\@nuxt\webpack\node_modules\webpack\lib\RuleSet.js:110:20
at Array.map (<anonymous>)
at Function.normalizeRules (node_modules\@nuxt\webpack\node_modules\webpack\lib\RuleSet.js:109:17)
at new RuleSet (node_modules\@nuxt\webpack\node_modules\webpack\lib\RuleSet.js:104:24)
at new NormalModuleFactory (node_modules\@nuxt\webpack\node_modules\webpack\lib\NormalModuleFactory.js:115:18)
at Compiler.createNormalModuleFactory (node_modules\@nuxt\webpack\node_modules\webpack\lib\Compiler.js:636:31)
at Compiler.newCompilationParams (node_modules\@nuxt\webpack\node_modules\webpack\lib\Compiler.js:653:30)
at Compiler.compile (node_modules\@nuxt\webpack\node_modules\webpack\lib\Compiler.js:661:23)
at node_modules\@nuxt\webpack\node_modules\webpack\lib\Watching.js:77:18
at AsyncSeriesHook.eval [as callAsync] (eval at create (node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:22:1)
at AsyncSeriesHook.lazyCompileHook (node_modules\tapable\lib\Hook.js:154:20)
at Watching._go (node_modules\@nuxt\webpack\node_modules\webpack\lib\Watching.js:41:32)
at node_modules\@nuxt\webpack\node_modules\webpack\lib\Watching.js:33:9
at Compiler.readRecords (node_modules\@nuxt\webpack\node_modules\webpack\lib\Compiler.js:529:11)
【问题讨论】:
【参考方案1】:当我在 Nuxt v2 项目中安装最新版本的 copy-webpack-plugin 时,这发生在我身上。显然它不使用 webpack5,所以我不得不将 copy-webpack-plugin 降级到最后一个兼容版本,例如复制webpack-plugin@4.6.0
【讨论】:
【参考方案2】:npm i -D webpack@^4.46.0
试试这个,它对我有用。
【讨论】:
如果你遇到了 sass 和 sass-loader 的问题。你可以使用npm i -D sass-loader@^10.1.1
谢谢穆斯塔法!!!【参考方案3】:
我今天遇到了同样的问题,它似乎与 npm 依赖项解析问题有关。
我在nuxt.js repository 中打开了一个问题
在我的项目中,问题出现了,原因是@nuxtjs/eslint-module,您可以删除它并重新生成依赖项:
npm uninstall @nuxtjs/eslint-module
rm -rf node_modules package-lock.json
npm install
您的构建命令中将不再有 eslint 反馈,但您仍然可以使用 npm run lint
,并且您将能够使用 nuxt,直到问题得到解决。
【讨论】:
另外,如果上述说明不能为您解决问题。您可以降级到节点 14.16.0 (LTS)。根本问题是安装了 Webpack 5.x 而不是 Webpack 4.x。以上是关于Nuxt安装报错:规则只能有一个资源源(提供资源和测试+包含+排除)的主要内容,如果未能解决你的问题,请参考以下文章