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

如何在Biome中配置kebab-case命名规则以兼容TanStack Router的动态路由?

如何在Biome中配置kebab-case命名规则以兼容TanStack Router的动态路由?

我之前也碰到过完全一样的问题!TanStack Router的动态路由用$前缀的命名方式,刚好和Biome严格的kebab-case命名规则撞了车。其实只要调整一下Biome的正则匹配规则,就能让两者和平共处,不用妥协任何一方的特性。

你之前尝试用match选项但没成功,大概率是正则的写法不对。正确的思路是让Biome的kebab-case规则只应用于非动态路由的文件,也就是排除所有以$开头的.tsx文件。

直接把你的Biome配置改成下面这样:

{
  "style": {
    "useTemplate": "error",
    "useFilenamingConvention": {
      "level": "error",
      "options": {
        "strictCase": true,
        "requireAscii": true,
        "filenameCases": ["kebab-case"],
        "match": "^(?!\\$).+\\.tsx$"
      }
    }
  }
}

我来拆解一下这个配置的关键部分:

  • 正则^(?!\\$).+\\.tsx$用了负向前瞻,意思是“只匹配不以$开头的.tsx文件”
  • 这样一来,像$itemId.tsx这类TanStack Router的动态路由文件就会被自动排除在kebab-case规则的检查之外
  • 其他所有普通的组件文件(比如item-list.tsx、user-profile.tsx)仍然会严格遵循kebab-case的命名要求

如果你的动态路由文件都集中在某个特定目录下(比如src/routes/),还可以把正则写得更精准,避免影响到其他目录的文件:

"match": "^src/routes/(?!\\$).+\\.tsx$"

这样配置后,你既可以保留Biome对大多数文件的kebab-case命名约束,又能正常使用TanStack Router的动态路由功能,再也不会收到恼人的命名错误提示了。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 10:42:57