使用ts-node搭建typescript运行环境
目录
首先安装好node.js
安装typescript
安装ts-node
创建一个typescript文件
使用ts-node运行typescript文件
首先安装好node.js
安装typescript
npm install typescript@4.7.4 -g
安装ts-node
npm install ts-node@v10.8.1 -g
创建一个typescript文件
文件名为app.ts,内容为
console.log("Hello, TypeScript with ts-node!");
使用ts-node运行typescript文件
ts-node app.ts
报错
TypeError: Unknown file extension ".ts" for E:\frontend\VueCode\chapter14\app.tsat Object.getFileProtocolModuleFormat [as file:] (node:internal/modules/esm/get_format:218:9)at defaultGetFormat (node:internal/modules/esm/get_format:244:36)at defaultLoad (node:internal/modules/esm/load:122:22)at async ModuleLoader.loadAndTranslate (node:internal/modules/esm/loader:479:32)at async ModuleJob._link (node:internal/modules/esm/module_job:112:19) {code: 'ERR_UNKNOWN_FILE_EXTENSION'
}
但是加了配置tsconfig.json
{"compilerOptions": {"target": "es6","module": "commonjs","strict": true,"esModuleInterop": true,"skipLibCheck": true,"forceConsistentCasingInFileNames": true,"outDir": "./dist" // 输出目录配置,可选}
}
执行正常
问了deepseek,原因如下
这个错误是因为 Node.js 的 ES Modules (ESM) 系统无法识别 .ts 文件扩展名导致的。当使用 ts-node 时,它需要正确的配置才能处理 TypeScript 文件。
为什么需要 tsconfig.json
文件扩展名识别:ts-node 需要知道如何处理 .ts 文件,而 tsconfig.json 提供了 TypeScript 编译的配置,包括模块系统、目标 JavaScript 版本等。
TypeScript 配置:ts-node 依赖 tsconfig.json 来确定如何编译 TypeScript 代码(如 target、module 等选项)。