类型错误 [ERR_UNKNOWN_FILE_EXTENSION]: 在 Visual Studio Code 上未知的文件扩展名 ".ts"。
类型错误 [ERR_UNKNOWN_FILE_EXTENSION]: 在 Visual Studio Code 上未知的文件扩展名 ".ts"。
我一直在对一些代码进行单元测试,然后突然出现了一个关于未知文件扩展名的错误(之前出现过一些未识别某些类型的错误)。
这是我的package.json文件:
{ "name": "cgt-core-engine-mv", "description": "用于其他CGT插件的API容器", "version": "1.01.03", "author": "CG-Tespy", "repository": { "type": "git", "url": "https://github.com/CG-Tespy/CGT_CoreEngine_MV" }, "scripts": { "build": "tsc & (rollup -c)", "test": "mocha -r ts-node/register Test/**/*.ts" }, "dependencies": {}, "devDependencies": { "@types/chai": "^4.2.12", "@types/mocha": "^8.0.0", "@types/sinon": "^9.0.4", "chai": "^4.2.0", "mocha": "^8.0.1", "rollup": "^2.00.1", "rollup-plugin-node-resolve": "^5.2.0", "rollup-pluginutils": "^2.8.2", "sinon": "^9.0.2", "ts-node": "^8.10.2", "typescript": "^3.9.6" }, "type": "module" }
这是我的tsconfig.json文件:
{
"compilerOptions": {
"target": "es5",
"module": "CommonJS",
"esModuleInterop": true,
"sourceMap": false,
"downlevelIteration": true,
},
"include": ["_MainSource/**/*", "Tests/**/*", "@typeDefs/**/*"],
}
我真的不知道这是从哪里来的。我有一个单独的项目,在那个项目中,我能够很好地进行单元测试,而且没有出现任何错误。它的package.json文件如下:
{
"name": "unittesting",
"version": "1.0.0",
"description": "用于练习单元测试",
"main": "main.js",
"scripts": {
"test": "mocha -r ts-node/register test/**/*.ts"
},
"author": "",
"license": "ISC",
"devDependencies": {
"@types/chai": "^4.2.11",
"@types/mocha": "^8.0.0",
"chai": "^4.2.0",
"mocha": "^8.0.1",
"ts-node": "^8.10.2",
"typescript": "^3.9.7"
},
"type": "module"
}
它的tsconfig如下:
{ "compilerOptions": { /* Basic Options */ "target": "es5", /* 指定 ECMAScript 目标版本:'ES3'(默认值),'ES5','ES2015','ES2016','ES2017','ES2018','ES2019','ES2020',或'ESNEXT'。 */ "module": "CommonJS", /* 指定模块代码生成:'none','commonjs','amd','system','umd','es2015','es2020',或'ESNext'。 */ "esModuleInterop": true, }, "include": ["src/**/*", "tests/**/*"], }
可能是什么原因导致这个问题?我尝试了这里的建议(链接),但没有起作用(即使查看了链接的Github问题)。
在使用Node.js和TypeScript开发时,当在package.json文件中添加 "type": "module" 时,会出现(TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" on Visual Studio Code)这个错误。
解决方法:
1. 在Visual Studio Code中,打开项目文件夹。
2. 打开package.json文件。
3. 在文件中找到 "type": "module" 这一行。
4. 将 "type": "module" 修改为 "type": "commonjs"。
5. 保存package.json文件。
6. 关闭Visual Studio Code并重新打开项目。
经过以上步骤后,应该能够解决(TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" on Visual Studio Code)这个问题。