如何让 eslint 对 Node js 中的整个目录起作用

INF*_*SYS 2 javascript lint node.js eslint

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

  "scripts": {
    "lint": "eslint .",
    "pretest": "eslint **/*.js",
    "start": "node .",
    "posttest": "npm run lint && nsp check"
  }
Run Code Online (Sandbox Code Playgroud)

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)
Run Code Online (Sandbox Code Playgroud)

如果我安装了该依赖项,我就会陷入困境

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)
Run Code Online (Sandbox Code Playgroud)

请帮忙

Nie*_*uin 6

看起来您node_modules也在对文件进行检查,但您不应该这样做。

\n

您应该按照这些说明忽略此文件夹。\n此外,您还应该更改您的 NPMpretest脚本以匹配该lint脚本。我建议将其更改为npm run lint.

\n
\n

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

\n
node_modules\n
Run Code Online (Sandbox Code Playgroud)\n
\n