如何让本地 eslint 插件与本地安装的 eslint 一起工作

How to get local eslint plugins to work with locally installed eslint

根据文档,如果插件是名为 "eslint-plugin-"

的 npm 模块,它们应该可以工作

Here's a plugin that follows that pattern. Source is here.

所以,我们创建一个新项目

md foo
cd foo
npm init
... answer questions ..
npm install --save-dev eslint
npm install --save-dev eslint-plugin-require
echo "define(function(){});" > test.js
echo "{\"rules\":{\"require\": 2}}" > conf.json
node node_modules/eslint/bin/eslint.js -c conf.json --plugin eslint-plugin-require test.js

生产

~/node_modules/eslint/lib/eslint.js:569
                throw new Error("Definition for rule '" + key + "' was not
                      ^
Error: Definition for rule 'require' was not found. 

将配置更改为

echo "{\"rules\":{\"eslint-plugin-require\": 2}}" > conf.json

也不

echo "{\"rules\":{\"require-define\": 2}}" > conf.json

也不

echo "{\"rules\":{\"require-require-define\": 2}}" > conf.json

也不

echo "{\"rules\":{\"eslint-plugin-require-define\": 2}}" > conf.json

也不

echo "{\"rules\":{\"eslint-plugin-require-require-define\": 2}}" > conf.json

没有解决

如何使用本地安装的eslint插件?

通过本地 eslint 安装使用本地插件相当简单,只是一开始不是很明显。

1.安装

这里与您已经在做的没有什么不同。

npm install --save-dev eslint
npm install --save-dev eslint-plugin-require

2。配置

我在我的案例中使用了 .eslintrc 文件,但如果您将自定义配置文件传递给 CLI,则同样的原则也适用。请注意作为插件时规则定义方式的不同。

{
    "plugins": [
        // Tell eslint about the require plugin
        "require"
    ],
    "rules": {
        // Built-in Rules
        "camelcase": 2,
        "no-trailing-spaces": 2,

        // Require Plugin Rules (note plugin prefix)
        "require/require-define": 2,
        "require/require-array-syntax": 2,
        "require/require-module-prefix": 2
    }
}