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

4,870次阅读
没有评论

共计 888 个字符,预计需要花费 3 分钟才能阅读完成。

环境

我已经安装了 typescript、ts-node 包:
用 ts-node 命令运行 typescript 文件报类型错误:TypeError: Unknown file extension“.ts“
用 ts-node 命令运行 typescript 文件报类型错误:TypeError: Unknown file extension“.ts“

问题

项目目录下面有一个 ts 文件:
用 ts-node 命令运行 typescript 文件报类型错误:TypeError: Unknown file extension“.ts“

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

TypeError: Unknown file extension ".ts" for D:temp 前端前端入门 ts-studyhello.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'
}

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

原因

项目目录下面尽管没有 package.json 文件,但上级目录有一个 package.json 文件,其中包含"type": "module"
用 ts-node 命令运行 typescript 文件报类型错误:TypeError: Unknown file extension“.ts“

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

解决方法

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

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

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

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

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

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-10-29发表,共计888字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)