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

如何在VS Code中为JS模块脚本配置ESLint并启用默认严格模式

解决ESLint在ES模块中不响应严格模式的问题

核心原因

ES模块(通过<script type="module">引入的JS文件)本身默认运行在严格模式下,手动添加"use strict";属于冗余代码,这也是ESLint未响应该声明的关键原因。

配置修改方案(无需手动添加"use strict")

修改项目根目录的eslint.config.js,明确指定代码类型为ES模块,让ESLint自动按严格模式校验:

import globals from "globals";
import pluginJs from "@eslint/js";

export default [
  {
    languageOptions: { 
      globals: globals.browser,
      ecmaVersion: "latest", // 适配最新ES语法特性
      sourceType: "module" // 声明当前为ES模块,ESLint自动启用严格模式校验
    },
    rules: {
      // 禁止手动添加"use strict"(模块默认严格,冗余代码会触发报错)
      "strict": ["error", "never"]
    }
  },
  pluginJs.configs.recommended,
];

配置细节说明

  • sourceType: "module":告诉ESLint当前代码是ES模块,此时ESLint会自动应用所有严格模式的校验规则,无需手动添加"use strict";。
  • "strict": ["error", "never"]:将手动添加的"use strict";标记为错误,避免冗余代码,同时确保ESLint严格执行严格模式的校验逻辑。

验证配置生效

保存配置后,重启VS Code(或打开命令面板执行ESLint: Restart ESLint Server),此时ESLint会严格检测不符合严格模式的代码问题,比如:

  • 未声明变量直接赋值
  • 使用delete操作符删除普通变量
  • 使用八进制字面量(如0123)

若需强制检测手动添加的"use strict"(不推荐)

如果一定要让ESLint强制检查手动添加的"use strict";,可将strict规则修改为:

"strict": ["error", "always"]

注意:ES模块本身已默认启用严格模式,这种配置会强制要求冗余的严格声明,不符合ES模块规范,不建议使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 15:03:23