带有 --rule 选项的 ESLint CLI

ESLint CLI with --rule option

我在使用带 --rule 选项的 ESLint CLI 时遇到问题。

# This is what I tried
eslint --rule "{no-console: error}" --fix-dry-run . 

导致以下错误:

Invalid value for option 'rule' - expected type Object, received value: {no-console:.

--rule 选项的正确使用方法是什么?我在本地安装了 ESLint 并使用 npx 到 运行 它。

.eslintrc.js

module.exports = {
  env: {
    browser: true,
    es2021: true,
    node: true
  },
  extends: [
    'eslint:recommended',
    'plugin:@typescript-eslint/recommended',
    'plugin:vue/vue3-recommended',
    'prettier',
    'prettier/vue'
  ],
  parser: 'vue-eslint-parser',
  parserOptions: {
    parser: '@typescript-eslint/parser',
    ecmaVersion: 12,
    sourceType: 'module'
  },
  plugins: ['@typescript-eslint'],
  rules: {
    '@typescript-eslint/explicit-module-boundary-types': 'off',
    '@typescript-eslint/no-explicit-any': 'off'
  }
};

您可以在 .eslintrc.js 条规则中添加 "no-console": ["error"]

module.exports = {
  ...
  rules: {
    '@typescript-eslint/explicit-module-boundary-types': 'off',
    '@typescript-eslint/no-explicit-any': 'off',
    'no-console': ['error']
  }
};

而且只是 运行

eslint --fix-dry-run ./

eslint --rule "no-console: ['error']" --fix-dry-run .

https://eslint.org/docs/user-guide/command-line-interface#-rule

这似乎是 npx 和 Windows 的错误。在 this issue 中解释删除 --rule 中的空格解决了问题:

npx eslint --rule "no-console:error" --fix-dry-run .