我刚刚在我的MAC上安装了新的Visual Studio Code 1.23.1并打开了一个带有一个简单文件main.ts的目录(没有tsconfig.json):
function getFinalPrice(price: number, discount: number) {
return price - price/discount;
}
console.log(getFinalPrice(100, 10));
console
这个词的下划线带有一条波浪形的红线,错误上写着:
[ts] Cannot file the name console".
我检查了VS Code的安装目录 - 它有文件.../extensions/node_modules/typescript/lib/lib.es2016.full.d.ts
,其中包含以下行:
declare var console: Console;
为什么我的VS Code没有拿起它?
我的同事尝试了相同的代码,但他没有看到这个错误。唯一的区别是我有一个新安装的VS代码。可能是什么问题?
添加简单的tsconfig.json文件后,更新:,错误消失了。
{
"compilerOptions": {
"noEmitOnError": true,
"target": "es5"
}
}
这是否必须在VS Code项目中使用tsconfig.json?
答案 0 :(得分:1)
实际上,https://code.visualstudio.com/docs/languages/typescript#_typescript-files-and-projects
的VS代码文档中描述了此错误的原因没有tsconfig.json CS代码在文件范围模式下工作,您只能使用文件中定义的代码,而console
不是这样。
答案 1 :(得分:0)
您需要一个tsconfig.json
文件,因为这会指定要包含的lib
个定义 - 其中一个定义将包含console
的定义。