如何快速运行TypeScript文件?解决tsx/ts-node工具报错问题
快速运行CCXT TypeScript程序的优化方案
方案1:预编译成JS再运行(最稳最快)
直接把TS代码编译成原生JS,彻底消除即时编译的性能损耗,速度和JS版本完全一致:
- 先确认
tsconfig.json里配置了"outDir": "./dist"(指定编译输出目录) - 执行编译命令:
tsc - 运行编译后的文件:
node ./dist/examples/ts/cli.ts bitget fetchBalance
方案2:搞定tsx的模块缺失问题
你遇到的ERR_MODULE_NOT_FOUND大概率是依赖没装全,别只单独装jsbn:
- 先跑
npm install重新装一遍所有依赖 - 检查
tsconfig.json的moduleResolution设为"node16"或"nodenext",适配ES模块解析规则 - 再用tsx运行:
tsx ./examples/ts/cli.ts bitget fetchBalance
方案3:修复ts-node的文件扩展名错误
保留package.json里的"type": "module",调整TS配置适配ES模块:
- 在
tsconfig.json的compilerOptions里加"module": "ESNext"和"moduleResolution": "node16" - 运行时指定loader:
node --loader ts-node/esm ./examples/ts/cli.ts bitget fetchBalance - 注意:ES模块模式下,所有导入语句必须写全文件扩展名(比如
.ts或.js),不能省略
方案4:解决ts-node-esm的DOM类型报错
Node环境没有DOM全局变量,所以TS找不到DOMException和self,补一下类型就行:
- 安装Node类型定义:
npm install -D @types/node - 在
tsconfig.json的compilerOptions里加"types": ["node"] - 如果还报错,在代码顶部加全局声明:
declare global { const self: typeof globalThis; type DOMException = Error; } - 再执行
ts-node-esm ./examples/ts/cli.ts bitget fetchBalance
内容的提问来源于stack exchange,提问作者Sam Germain
相关产品推荐
相关产品推荐

