当前位置: 首页 > 知识库问答 >
问题:

前端 - TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts"?

笪煌
2023-07-31

我创建一个测试项目如下:

src/  test.tspackage.jsontsconfig.json

我安装了ts-node,现在我进行运行项目报错:

npx ts-node src/test.ts

报错:

TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for /Users/Test/react/react-demo-03/src/test.ts    at new NodeError (node:internal/errors:387:5)    at Object.getFileProtocolModuleFormat [as file:] (node:internal/modules/esm/get_format:75:11)    at defaultGetFormat (node:internal/modules/esm/get_format:117:38)    at defaultLoad (node:internal/modules/esm/load:81:20)    at nextLoad (node:internal/modules/esm/loader:163:28)    at ESMLoader.load (node:internal/modules/esm/loader:601:26)    at ESMLoader.moduleProvider (node:internal/modules/esm/loader:457:22)    at new ModuleJob (node:internal/modules/esm/module_job:63:26)    at ESMLoader.#createModuleJob (node:internal/modules/esm/loader:476:17)    at ESMLoader.getModuleJob (node:internal/modules/esm/loader:434:34) {  code: 'ERR_UNKNOWN_FILE_EXTENSION'}

我的tsconfig.json配置如下:

{  "compilerOptions": {    "target": "es5",    "lib": [      "dom",      "dom.iterable",      "esnext"    ],    "allowJs": true,    "skipLibCheck": true,    "esModuleInterop": true,    "allowSyntheticDefaultImports": true,    "strict": true,    "forceConsistentCasingInFileNames": true,    "noFallthroughCasesInSwitch": true,    "module": "esnext",    "moduleResolution": "node",    "resolveJsonModule": true,    "isolatedModules": true,    "noEmit": true,    "jsx": "react-jsx"  },  "include": [    "src",    "src/testApp/test.ts"  ]}

请问为何会出现这样的错误呢?

共有1个答案

羊舌富
2023-07-31

在 tsconfig.json 中添加 "ts-node": { "esm": true } 试试:

"include": ...,"ts-node": {"esm": true}

参考的是这个文档:
ts-node常见问题

 类似资料:
  • 我正在运行一个带有Postrges数据库连接的Express服务器,在理解编译器在处理Typescript时的工作方式方面,我算是个新手。 在设置之后,当我启动服务器时。我收到此错误 TypeError[ERR\u UNKNOWN\u FILE\u EXTENSION]:未知文件扩展名“.ts” 包裹。我的项目中的json文件如下所示 t配置。我的项目中的json如下所示

  • 打开一个页面时,报如下的错误 在报错的vue文件中是存在add这个函数的,为啥会报undefined呢?

  • script 标签 https://cdn.jsdelivr.net/npm/vue-seamless-scroll@latest/dist/vue-seamless-scroll.min.js 在页面引入后提示错误 Uncaught TypeError: Vue.component is not a function

  • ThinkCMF前端使用的是传统的jQuery技术,使用的核心类库有 jQuery,bootstrap,wind.js,这三个类库是ThinkCMF前后台模板所依赖的核心类库,其它第三方类库均使用 wind.js 异步加载,我们封装了一些常用的组件方便大家快速开发,封装的前台模板组件在 static/js/frontend.js,后台模板组件在 static/js/admin.js, fronte

  • 基础介绍 FastAdmin的前端部分使用或涉及到主要是RequireJS,jQuery,AdminLTE,Bower,Less,CSS,其中 RequireJS主要是用于JS的模块化加载 Bower主要用于管理第三方插件。 Less主要是用于我们编写LESS和编译成CSS代码 在阅读接下来的文档之前最好先简单的了解下RequireJS和Bower,而jQuery是我们必须要掌握的工具库 Fast

  • 细细整理了过去接触过的那些前端技术,发现前端演进是段特别有意思的历史。人们总是在过去就做出未来需要的框架,而现在流行的是过去的过去发明过的。如,响应式设计不得不提到的一个缺点是:他只是将原本在模板层做的事,放到了样式(CSS)层来完成。 复杂度同力一样不会消失,也不会凭空产生,它总是从一个物体转移到另一个物体或一种形式转为另一种形式。 如果六、七年前的移动网络速度和今天一样快,那么直接上的技术就是