运行ts文件踩坑

1.node test.ts是不可以运行ts文件的,建议全局安装ts-node,只在项目的终端内安装的话是无效不能使用ts-node的

2.

"ts-node  ./src/utils/moduleTest/modulec.ts" 出错:

ERR_UNKNOWN_FILE_EXTENSION

这时候需要改为:

ts-node --esm ./src/utils/moduleTest/modulec.ts
具体原因:

当模块具有无法识别的文件扩展名或根本没有扩展名,并且正在作为本机 ESM 执行时,节点会抛出此错误。发生这种情况的原因可能有以下几种:

  • 您正在使用具有无扩展二进制文件的工具,例如mocha
    • CommonJS 支持无扩展名的文件,但原生 ESM 不支持。
    • 解决方案:升级到 ts-node >= v10.6.0,它实现了一种解决方法。
  • 我们的 ESM 加载器尚未安装。
    • 解决方案:使用ts-node-esmts-node --esm或添加"ts-node": {"esm": true}到您的 tsconfig.json。 文档
  • 您已将项目移至 ESM,但仍有一个配置文件,例如webpack.config.ts,该文件必须作为 CommonJS 执行
    • 解决方案:如果相关工具支持,请将配置文件重命名为.cts
    • 解决方案:配置模块类型覆盖。文档

更多请参考:

https://github.com/TypeStrong/ts-node?tab=readme-ov-file#err_unknown_file_extension
posted @ 2024-09-13 10:49  洛晨随风  阅读(82)  评论(0编辑  收藏  举报