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
}
}
再次执行命令,问题成功解决!