Hello! 欢迎来到小浪资源网!



Node.js项目中TypeScript文件执行失败:ts-node无法识别.ts文件的原因是什么?


avatar
1986424546 2024-11-19 23

Node.js项目中TypeScript文件执行失败:ts-node无法识别.ts文件的原因是什么?

为什么nodejs 项目中不能在 typescript 项目 ts-node 执行.ts 文件?

typescript 项目中使用 ts-node 执行 .ts 文件时遇到无法识别.ts 文件后缀的错误,该问题可能是由于以下原因造成的:

1. package.json 中 “type”: “module” 的作用

在 package.JSon 中添加 “type”: “module” 表示该项目为 es 模块项目,它将使用 es 模块语法而不是 commonjs 模块语法。

2. “type”: “module” 对 npmjs.org 发布的影响

如果要将项目发布到 npmjs.org,则需要将 “type”: “module” 添加到您的 package.json 中。因为 npmjs.org 已逐步淘汰 commonjs 模块,并且需要所有新发布的包都使用 es 模块语法。

3. “syntaxerror: cannot use import statement outside a module” 错误的解决方案

此错误表明您尝试在文件顶部使用 import 语句,而该文件尚未声明为模块。要解决此错误,您可以在 tsconfig.json 文件中添加以下配置:

{   "compileroptions": {     "esmoduleinterop": true,   } }

此配置将允许您在非模块文件中使用 import 语句。之后,您还可以使用 ts-node-esm 执行您的脚本,如下所示:

ts-node-esm script.ts

相关阅读