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

CommonJS中对应ESLint规则import/named的等效规则是什么

CommonJS场景下等效于import/named的ESLint校验规则

目前有两种成熟的方案可以实现CommonJS语法下的导入命名合法性校验,功能和ESM场景下的import/named规则一致:

  • 方案1:使用eslint-plugin-commonjs插件的require-valid-named-export规则
    该规则是专门为CommonJS的require语法设计的校验能力,会自动检查通过解构require获取的命名,是否真实存在于对应文件的静态导出内容中。使用方法如下:
    1. 安装依赖:npm install eslint-plugin-commonjs --save-dev
    2. 在ESLint配置文件中新增配置:
    {
      "plugins": ["commonjs"],
      "rules": {
        "commonjs/require-valid-named-export": "error"
      }
    }
    
  • 方案2:配合类型校验工具实现校验
    如果你已经在项目中使用@typescript-eslint解析器(纯JavaScript项目也可接入),开启@typescript-eslint/no-unsafe-assignment、@typescript-eslint/no-unsafe-member-access规则后,只要被导入文件带有合法的JSDoc类型标注、或是依赖包自带类型声明,也可以精准校验CommonJS导入的命名是否合法,校验精度比纯静态规则更高。

注意:所有静态校验规则仅对静态声明的导出内容生效,如果你的module.exports是运行时动态生成的(比如通过循环赋值、根据环境变量动态增减导出字段),上述规则都无法完成校验。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 03:30:01