【问题标题】:Eslint: no-duplicates Resolve error: unable to load resolver "node"Eslint:无重复解决错误:无法加载解析器“节点”
【发布时间】:2017-12-05 12:54:54
【问题描述】:

我今天刚刚使用npm update 更新了我的项目(带有 VueJS 和 Quasar Framework 的 SPA),但我现在无法运行它。

我在许多不同的模块中收到错误no-duplicates Resolve error: unable to load resolver "node"。它始终指向 1:1

我不知道发生了什么,因为之前一切正常......

有什么建议吗?

【问题讨论】:

标签: javascript node.js vue.js eslint


【解决方案1】:

我必须明确安装eslint-import-resolver-node

npm install -D eslint-import-resolver-node

【讨论】:

    【解决方案2】:

    有几个问题:

    1. 您是否考虑了正在升级的软件包的 semver 符号?有些可能会有重大变化。
    2. 升级了哪些包,从什么版本升级到什么版本?
    3. 您确定需要更新某些软件包吗?常见的规则是使用 Quasar 的模板来确定何时升级某些包(例如 ESLint)是安全的,这些包会不断发布重大更改。如果“npm update”更新了一个包,那很好,但如果你修改 package.json 以获得更新的 ESLint,那么作为开发人员,你需要自己找出重大变化等等。

    另外,你为什么要像那样导入 Quasar?这让我觉得您使用的模板已被错误地更改。 'quasar' 应该是 'quasar-framework' npm 包的 Webpack 别名。更新怎么能打破这个......它不会......

    【讨论】:

      【解决方案3】:

      遇到同样的问题,我认为已经删除了一些依赖项来解决我所做的

      npm install eslint-plugin-import --save-dev

      npm install babel-preset-env --save-dev

      然后我编辑了 .eslintrs.js

      修改扩展为如下所示

        extends: [
          'standard',
          'plugin:import/errors',
          'plugin:import/warnings',
          ],
      

      添加类似的导入插件

        plugins: [
          'html',
          'import'
        ],
      

      然后添加以下规则

      'import/named': 2,
      'import/namespace': 2,
      'import/default': 2,
      'import/export': 2,
      

      然后您还必须修改导入类星体的位置

      例如它以前看起来像这样

      import Quasar from 'quasar'
      

      现在你必须这样做

      import Quasar from 'quasar-framework'
      

      【讨论】:

      • 我正在使用airbnb。我想我会在extends 部分用airbnb 替换standard
      猜你喜欢
      • 2018-12-03
      • 2022-06-23
      • 2016-05-25
      • 1970-01-01
      • 1970-01-01
      • 2013-01-23
      • 1970-01-01
      • 2021-11-25
      • 1970-01-01
      相关资源
      最近更新 更多