运行ts文件出错及解决办法

运行ts文件出错及解决办法

运行ts文件出错及解决办法_第1张图片

TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension “.ts” 这个错误是因为 ts-node 无法直接处理 TypeScript 文件作为 ES 模块。你可以尝试以下解决方案:

解决方案 1: 使用 --loader ts-node/esm 选项

如果你使用的是 ES 模块(例如使用了 import/export 语法),可以通过 --loader ts-node/esm 选项来运行 TypeScript 文件:

node --loader ts-node/esm .\packages\compiler-core\src\parse.ts

解决方案 2: 确保 tsconfig.json 中正确配置了 module 选项

如果你的项目使用了 tsconfig.json,确保其中的 module 选项设置为支持 ES 模块的选项,例如 esnextcommonjs

{
  "compilerOptions": {
    "module": "esnext",  // 或者 "commonjs"
    "target": "es2015",  // 你之前可能已经设置
    "lib": ["es2015", "dom"],
    // 其他配置...
  }
}

解决方案 3: 使用 ts-node-T 选项

如果你只想快速运行 TypeScript 文件而不关心模块解析方式,可以使用 -T 选项,这会禁用类型检查,但可以帮助绕过某些复杂的模块解析问题:

ts-node -T .\packages\compiler-core\src\parse.ts

解决方案 4: 使用 ts-node/register 运行文件

你还可以尝试通过 node 直接运行,并使用 ts-node/register 来处理 TypeScript 文件:

node -r ts-node/register .\packages\compiler-core\src\parse.ts

解决方案 5: 安装并使用 ts-node-esm

如果你需要更完整的 ES 模块支持,可以安装 ts-node-esm

npm install ts-node-esm

然后运行:

ts-node-esm .\packages\compiler-core\src\parse.ts

以上任何一种方法都应该能够解决你遇到的问题。根据你项目的具体需求选择最合适的方式。

你可能感兴趣的:(前端,typescript)