首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ESLint无法识别的自定义规则

ESLint无法识别的自定义规则
EN

Stack Overflow用户
提问于 2015-11-03 15:37:50
回答 1查看 2.3K关注 0票数 0

我需要为ESLint编写一个自定义规则,以检查某人是否使用了某些代码结构。我是ESLint新手,在注册规则时遇到了一些问题,所以我可以在.eslintrc配置文件中实际使用它。该规则本身看起来如下:

some-custom-rule.js

代码语言:javascript
复制
'use strict';

module.exports = function(context) {

  function applyRule(node) {
    // some logic
  }

  return {
    "Identifier": applyRule
  }
};

module.exports.schema = [];

然后我有以下配置文件:

.eslintrc

代码语言:javascript
复制
{
  "ecmaFeatures": {
    "blockBindings": true,
    "forOf": true,
    "modules": true,
    "arrowFunctions": true,
    "classes": true
  },
  "rules": {
    "semi": 2,
    "some-custom-rule": 2
  },
  "env": {
    "es6": true,
    "browser": true
  }
}

当我尝试使用Gulp任务执行ESLint时,会弹出以下错误:1:1 error Definition for rule 'some-custom-rule' was not found。我想这是因为我没有正确地要求这个规则。

Gulp的任务如下:

代码语言:javascript
复制
var gulp   = require('gulp');
var path = require('path');
var conf = require('./conf');
var eslint = require('gulp-eslint');
var rule = require('./rules/some-custom-rule');

gulp.task('eslint', function () {
  return gulp.src(path.join(conf.paths.src, '**/*.js'))
    .pipe(eslint())
    .pipe(eslint.format())
    .pipe(eslint.failAfterError());
});

我如何利用我的习惯规则?我要把它传递给ESLint还是别的什么吗?提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2015-11-16 02:01:14

目前有两种向ESLint注册规则的方法,您可以使用--rulesdir命令行标志并将自定义规则所在的目录传递给它。如果这样做,该目录中的所有规则都将自动在ESLint中注册。然而,这种方式是不可取的。一个更好的方法是创建一个plugin,这是一种通过NPM模块分发一系列规则的方法。您可以找到有关创建插件这里的更多信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33503149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档