我感觉生产环境上使用时不用提前先把.ts 转译成.js 了,我自己的项目是直接 node 去跑的(用的最新的 LTS 版本,已经支持直接执行 typescript 了)。
至于你说的引用文件的后缀名的问题,你可以在项目根目录下的 `package.json` 里定义 `imports` 字段来解决:
```json
{
"imports": {
"#middlewares/*": "./src/middlewares/*.mts",
"#routes/*": "./src/routes/*.mts",
"#scripts/*": "./src/scripts/*.mts",
"#models/*": "./src/models/*.mts",
"#controllers/*": "./src/controllers/*.mts",
"#services/*": "./src/services/*.mts",
"#src/*": "./src/*.mts",
"#build/*": "./build/*.mts",
"#i18n/*": "./i18n/*.mts",
"#hosts/*": "./hosts/*.mts",
"#schedules/*": "./schedules/*.mts",
"#root/*": "./*.mts"
},
}
```
然后你的代码里就可以这样引用文件了(后缀名在 imports 里定义过了):
```typescript
import routerRoot from "#routes/root";
import { registerRoutesExceptForRoot } from "#routes/index";
```