【问题标题】:How to make eslint work for the whole directory in Node js如何使 eslint 为 Node js 中的整个目录工作
【发布时间】:2018-03-14 14:46:17
【问题描述】:

我正在尝试检查节点 js 应用程序中的 linting 错误,然后启动服务器。

  "scripts": {
    "lint": "eslint .",
    "pretest": "eslint **/*.js",
    "start": "node .",
    "posttest": "npm run lint && nsp check"
  }

npm run pretest 从不检查整个目录集。我做了一个 npm run lint 。它给了我一些奇怪的错误,比如

Cannot find module 'eslint-config-medikoo-es5'
Referenced from: /home/rahul/DSP/dsp-api/server/node_modules/es5-ext/package.json
Error: Cannot find module 'eslint-config-medikoo-es5'
Referenced from: /home/rahul/DSP/dsp-api/server/node_modules/es5-ext/package.json
    at ModuleResolver.resolve (/home/rahul/DSP/dsp-api/node_modules/eslint/lib/util/module-resolver.js:74:19)
    at resolve (/home/rahul/DSP/dsp-api/node_modules/eslint/lib/config/config-file.js:515:25)
    at load (/home/rahul/DSP/dsp-api/node_modules/eslint/lib/config/config-file.js:532:26)
    at configExtends.reduceRight (/home/rahul/DSP/dsp-api/node_modules/eslint/lib/config/config-file.js:424:36)
    at Array.reduceRight (native)
    at applyExtends (/home/rahul/DSP/dsp-api/node_modules/eslint/lib/config/config-file.js:408:28)
    at Object.load (/home/rahul/DSP/dsp-api/node_modules/eslint/lib/config/config-file.js:566:22)
    at loadConfig (/home/rahul/DSP/dsp-api/node_modules/eslint/lib/config.js:63:33)
    at getLocalConfig (/home/rahul/DSP/dsp-api/node_modules/eslint/lib/config.js:130:29)
    at Config.getConfig (/home/rahul/DSP/dsp-api/node_modules/eslint/lib/config.js:260:26)

如果我安装了那个依赖项,我会卡在这个

Cannot find module '@ljharb/eslint-config'
Referenced from: /home/rahul/DSP/dsp-api/server/node_modules/express/node_modules/qs/.eslintrc
Error: Cannot find module '@ljharb/eslint-config'
Referenced from: /home/rahul/DSP/dsp-api/server/node_modules/express/node_modules/qs/.eslintrc
    at ModuleResolver.resolve (/home/rahul/DSP/dsp-api/node_modules/eslint/lib/util/module-resolver.js:74:19)
    at resolve (/home/rahul/DSP/dsp-api/node_modules/eslint/lib/config/config-file.js:515:25)
    at load (/home/rahul/DSP/dsp-api/node_modules/eslint/lib/config/config-file.js:532:26)
    at configExtends.reduceRight (/home/rahul/DSP/dsp-api/node_modules/eslint/lib/config/config-file.js:424:36)
    at Array.reduceRight (native)
    at applyExtends (/home/rahul/DSP/dsp-api/node_modules/eslint/lib/config/config-file.js:408:28)
    at Object.load (/home/rahul/DSP/dsp-api/node_modules/eslint/lib/config/config-file.js:566:22)
    at loadConfig (/home/rahul/DSP/dsp-api/node_modules/eslint/lib/config.js:63:33)
    at getLocalConfig (/home/rahul/DSP/dsp-api/node_modules/eslint/lib/config.js:130:29)
    at Config.getConfig (/home/rahul/DSP/dsp-api/node_modules/eslint/lib/config.js:260:26)

请帮忙

【问题讨论】:

    标签: javascript node.js eslint lint


    【解决方案1】:

    您似乎也在对 node_modules 中的文件进行 linting,这是您不应该这样做的。

    您应该忽略these instructions 后面的这个文件夹。 此外,您应该更改您的 NPM pretest 脚本以匹配 lint 脚本。我建议将其更改为npm run lint

    ESLint 支持.eslintignore 文件以在 ESLint 对目录进行操作时从 linting 过程中排除文件。作为单个 CLI 参数给出的文件将免于排除。 .eslintignore 文件是一个纯文本文件,每行包含一个模式。它可以位于目标目录的任何祖先中;它将影响其包含目录以及所有子目录中的文件。这是.eslintignore 文件的简单示例:

    node_modules
    

    【讨论】:

    • 我试图添加一个忽略文件但仍然是同样的错误
    • 更新了答案,建议更改 NPM pretest 脚本
    【解决方案2】:

    您可以添加一个.eslintignore 文件并在里面添加以下内容 行node_modules

    这将忽略 node_modules 中的文件。

    【讨论】:

      猜你喜欢
      • 2021-08-11
      • 2013-05-19
      • 2021-10-31
      • 1970-01-01
      • 2015-03-23
      • 1970-01-01
      • 2015-01-03
      • 1970-01-01
      • 2017-05-12
      相关资源
      最近更新 更多