【发布时间】:2016-02-06 05:39:51
【问题描述】:
我在我的 NodeJS 项目中发现了这个奇怪的案例。我将尝试在这里描述我的问题,相信tsconfig.json 中有一个简单的选项恰好适合这种情况。我使用 TypeScript v1.7.3。
文件test1.ts 包含变量声明:
// test1.ts
let a = 1;
文件test2.ts 包含不正确的变量使用:
// test2.ts
console.log(a);
tsconfig.json 看起来像这样:
// tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"target": "es5"
}
}
编译器确实不向我抛出一个错误,我正在使用未声明的变量a。但是如果我尝试导出其他变量,比如b,我们会得到预期的错误:
// test1.ts
let a = 1;
export let b = 2;
编译器:
Error:(1, 13) TS2304: Cannot find name 'a'.
如何让编译器在第一种情况下发出错误?我刚刚在我的项目中发现我突然删除了一个变量,它在 runtime 中失败,而不是在compile time。
【问题讨论】:
标签: node.js typescript