首页 前端知识 用ts-node命令运行typescript文件报类型错误:TypeError: Unknown file extension “.ts“

用ts-node命令运行typescript文件报类型错误:TypeError: Unknown file extension “.ts“

2024-10-29 11:10:11 前端知识 前端哥 506 57 我要收藏

环境

我已经安装了typescript、ts-node包:
在这里插入图片描述
在这里插入图片描述

问题

项目目录下面有一个ts文件:
在这里插入图片描述

ts-node hello.ts运行,报类型错误:

TypeError: Unknown file extension ".ts" for D:\temp\前端\前端入门\ts-study\hello.ts
    at Object.getFileProtocolModuleFormat [as file:] (node:internal/modules/esm/get_format:160:9)
    at defaultGetFormat (node:internal/modules/esm/get_format:203:36)
    at defaultLoad (node:internal/modules/esm/load:143:22)
    at async ModuleLoader.load (node:internal/modules/esm/loader:403:7)
    at async ModuleLoader.moduleProvider (node:internal/modules/esm/loader:285:45)
    at async link (node:internal/modules/esm/module_job:78:21) {
  code: 'ERR_UNKNOWN_FILE_EXTENSION'
}

在这里插入图片描述

原因

项目目录下面尽管没有package.json文件,但上级目录有一个package.json文件,其中包含"type": "module"
在这里插入图片描述

package.json文件的查找机制就是先使用当前目录,如果没有,再查找上一级目录,如此递推。

解决方法

方法一:将上级目录package.json文件中的"type": "module"这句话去掉。这样可能会影响上级目录下面的其它项目。(不推荐

方法二:在本项目目录下面新建一个空的package.json文件,这样影响最小(推荐)。如下:

在这里插入图片描述

现在再执行,就正确了:
在这里插入图片描述

转载请注明出处或者链接地址:https://www.qianduange.cn//article/19416.html
标签
评论
发布的文章
大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!