You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js项目执行ESLint自定义规则报错:规则定义未找到

解决ESLint自定义规则找不到的错误

执行自定义ESLint规则时抛出如下错误:

1:1  error  Definition for rule 'D:/Sports/eslint-rules/no-log.js' was not found

当前配置与规则文件

.eslintrc.js 配置

module.exports = {
  env: {
    node: true,
  },
  plugins: ['eslint-rules'],
  rules: {
    'eslint-rules/no-log': 'error',
    'eslint-rules/max-params': ['error', { maxParams: 3 }],
  },
};

eslint-rules/no-log.js 规则文件

module.exports = {
  meta: {
    type: "suggestion",
    docs: {
      description: "Disallow console.log() in code",
      category: "Best Practices",
      recommended: true,
    },
    schema: [],
  },
  create: function (context) {
    return {
      CallExpression(node) {
        const { callee } = node;
        if (
          callee.type === "MemberExpression" &&
          callee.object &&
          callee.object.name === "console" &&
          callee.property &&
          callee.property.name === "log"
        ) {
          context.report({
            node,
            message: "Avoid using console.log() in code.",
          });
        }
      },
    };
  },
};

错误原因

你将eslint-rules目录当作ESLint插件配置,但该目录不符合ESLint插件规范——缺少插件入口文件和package.json配置,导致ESLint无法识别其中的规则,误将路径解析为规则名。

解决方案

方案一:按规范创建自定义ESLint插件

  1. 调整目录结构为:
eslint-rules/
  package.json
  lib/
    rules/
      no-log.js
      max-params.js
    index.js
  1. 在eslint-rules/package.json中添加基础配置:
{
  "name": "eslint-rules",
  "version": "1.0.0",
  "main": "lib/index.js"
}
  1. 创建eslint-rules/lib/index.js导出所有规则:
module.exports = {
  rules: {
    'no-log': require('./rules/no-log'),
    'max-params': require('./rules/max-params')
  }
};
  1. 在项目根目录执行本地链接,让ESLint识别插件:
npm link ./eslint-rules

方案二:直接引用规则文件路径(临时快速方案)

无需配置plugins,直接在.eslintrc.js中指定规则文件的相对路径:

module.exports = {
  env: {
    node: true,
  },
  rules: {
    './eslint-rules/no-log.js': 'error',
    './eslint-rules/max-params.js': ['error', { maxParams: 3 }],
  },
};

完成上述配置后,重新执行命令即可生成JSON报告:

npx eslint ./ --format json --output-file eslint-report.json

内容的提问来源于stack exchange,提问作者semicolon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 04:10:14