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

ESLint配置:如何强制项目仅允许新增*.ts、*.tsx类型文件?

解决方案:用ESLint强制新文件使用TypeScript扩展名

你可以通过eslint-plugin-filename-rules结合自定义配置实现需求,虽然它侧重文件名模式,但也能精准控制扩展名规则:

1. 安装插件

先安装该依赖:

npm install eslint-plugin-filename-rules --save-dev

2. 配置ESLint规则

在你的.eslintrc.js(或.eslintrc)中添加以下配置:

module.exports = {
  plugins: ['filename-rules'],
  rules: {
    'filename-rules/match': [
      'error',
      {
        // 限定仅允许ts/tsx扩展名
        match: /\.(ts|tsx)$/,
        // 列出所有需要忽略的现有JS/JSX文件或目录
        exclude: [
          './src/old-app.js',
          './src/components/legacy-form.jsx',
          // 若旧文件集中在某目录,可使用通配符批量忽略
          // './src/legacy-code/**/*.js',
          // './src/legacy-code/**/*.jsx'
        ]
      }
    ]
  }
};

3. 额外优化建议

如果旧文件数量极多,也可将它们加入.eslintignore,但这会跳过这些文件的所有ESLint检查。若只想忽略扩展名规则,优先使用上述exclude配置更精准。

另外,也可尝试eslint-plugin-unicorn的filename-case规则配合自定义模式,但filename-rules的配置更直接贴合你的扩展名管控需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 21:15:34