可用的方案有以下几种:

GitHub - TypeStrong/ts-node: TypeScript execution and REPL for node.js

GitHub - esbuild-kit/tsx: ⚡️ TypeScript Execute (tsx): Node.js enhanced with esbuild to run TypeScript & ESM

GitHub - esbuild-kit/esno: Alias to tsx

GitHub - swc-project/swc-node: Faster ts-node without typecheck

GitHub - lukeed/tsm: TypeScript Module Loader

node -r 只支持 commonjs 模块,这可能意味着:如果项目是 ESM 的,且 package.json 中添加了 "type": "module"node -r 就无法运行。

Command-line API | Node.js v18.2.0 Documentation

CommonJS vs native ECMAScript modules | ts-node

这里是 ts-node 支持运行 ESM Native 模块的反馈通道。

https://github.com/TypeStrong/ts-node/issues/1007

Joshua 在在 NodeJS 中使用 ES Moudle 的过程中遇到的问题。

ES Modules in NodeJS - Troubleshooting Resources

另外一种实践对于使用 TypeScript 写脚本来说还算实用:

Running TypeScript without Compiling