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

使用typescript-eslint-parser时,ESLint脚本指定.ts后缀报错如何解决?

解决TypeScript ESLint脚本配置的文件扩展名报错问题

我来帮你搞定这个问题——你遇到的「Missing file extension "ts"」报错,本质是ESLint默认没把.ts当成合法的模块扩展名,再加上切换到TypeScript后,ESLint的配置和脚本命令都需要做对应调整。按下面的步骤来修改就行:

1. 先确认依赖包安装完整

首先得确保你已经装了TypeScript ESLint的核心依赖,没装的话先跑这个命令:

npm install --save-dev eslint @typescript-eslint/eslint-plugin @typescript-eslint/parser typescript

这些包分别负责ESLint核心功能、TypeScript专属规则插件、TypeScript代码解析器,还有TypeScript本身的编译支持。

2. 简化并修正package.json的lint脚本

你原来直接调用node ./node_modules/eslint/bin/eslint.js的写法太冗余了,npm脚本会自动识别node_modules/.bin里的可执行文件,直接用eslint命令就行。另外最好明确指定要检查的目录(比如src/),避免误扫无关文件。修改后的脚本如下:

"scripts": {
  "lint": "eslint --ext .ts src/"
}

如果你的项目里还有.tsx文件,也可以用逗号分隔多个扩展名:eslint --ext .ts,.tsx src/

3. 配置ESLint识别TypeScript文件

关键一步:你需要创建或修改ESLint的配置文件(比如.eslintrc.js或.eslintrc.json),告诉ESLint用TypeScript解析器,并调整扩展名相关规则。示例配置如下:

module.exports = {
  // 指定用typescript-eslint解析器处理TS文件
  parser: '@typescript-eslint/parser',
  // 启用TypeScript ESLint插件
  plugins: ['@typescript-eslint'],
  // 继承官方推荐的规则集
  extends: [
    'eslint:recommended',
    'plugin:@typescript-eslint/recommended'
  ],
  rules: {
    // 关闭ESLint默认的文件扩展名检查规则(TS模块导入通常不需要写扩展名)
    'import/extensions': 'off',
    // 如果你用到了eslint-plugin-import插件,也可以更精细配置:
    // 'import/extensions': ['error', 'ignorePackages', { ts: 'never' }]
  },
  settings: {
    // 让import插件能正确解析TypeScript模块路径
    'import/resolver': {
      typescript: {}
    }
  }
};

这个配置里,我们关掉了导致报错的import/extensions规则——因为在TypeScript项目中,导入模块时通常不需要写.ts扩展名,ESLint默认规则会把这种情况判定为错误,所以必须关掉或者调整规则适配TS场景。

4. 可选:关联tsconfig.json(启用类型检查规则)

如果你想让ESLint遵循项目的TypeScript配置(比如tsconfig.json里的include/exclude范围),并且启用需要类型信息的高级规则,可以在ESLint配置里加上parserOptions.project:

module.exports = {
  // ...其他配置
  parserOptions: {
    project: './tsconfig.json'
  }
};

这一步是可选的,如果你不需要依赖类型信息的ESLint规则,可以跳过。

做完这些调整后,再运行npm run lint应该就能正常检查你的TypeScript文件,不会再出现扩展名报错了,WebStorm的ESLint支持也能继续正常工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:49:04