有风塘主
发布于 2024-10-26 / 26 阅读
0
0

Typescript常见问题:ts-node报错-Unknown file extension ".ts"

Typescript常见问题:ts-node报错-Unknown file extension ".ts"

问题现象

在本地开发时,使用ts-node直接执行ts脚本时报错:

Unknown file extension ".ts"

执行的命令行为:

ts-node --preferTsExts --experimental-specifier-resolution=node src\example.ts

相关配置

tsconfig.json 主要配置内容如下

{
  "compilerOptions": {
    "baseUrl": ".",
    "rootDir": "src",
    "target": "ESNext",
    "module": "ESNext",
    "moduleResolution": "Node"
  },
  "extensions": [".ts"],
  "include": ["src"],
  "exclude": [
    "src/**/__tests__/**",
    "src/**/*.spec.ts",
    "src/**/*.spec.tsx",
    "node_modules"
  ],
  "ts-node": {
    "compilerOptions": {
      "esModuleInterop": true,
      "module": "CommonJS"
    }
  }
}

常见处理

在百度上查找很多相关文章,大多数的处理方式 都是 修改module或者修改package.json里面的type字段,难以满足需求。

最终解决方案

最终在github上搜索到大佬解决方法:在tsconfig.json最后面添加如下内容:

{
  "ts-node": {
    "esm": true
  }
}

再次执行命令,问题成功解决!


评论