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安装报错:规则只能有一个资源源(提供资源和测试+包含+排除)的主要内容,如果未能解决你的问题,请参考以下文章

nuxt入门

开发还是应该使用linux

Nuxt部署错误:服务器资源不可用

Nuxt生产模式加载资源延迟

pip 安装包时指定pypi资源地址

nuxtclient打包文件不停的请求