我最近开始在Expo上使用TypeScript.我已经完成了所有linter/formatter集成,比如typescript-eslint
,这样我就可以在编码过程中捕获大多数错误.如果我每次编译npx tsc
代码,我就会相应地执行一次.
有一件事我还没有完全理解,那就是为什么我的应用程序即使存在大量编译错误也能成功构建.我希望(也更愿意)看到每一个编译错误都会出现红屏错误,而不是成功地构建应用程序,让我稍后再发现.例如
function square<T>(x: T): T {
console.log(x.length); // error TS2339: Property 'length' does not exist on type 'T'.
return x * x;
}
是一个典型的打字错误(我相信?)可以在编译时轻松判断.我希望它会导致一个大的红屏错误,构建失败.
我对打字很陌生,所以我可能错过了一些非常重要的东西.到底是什么导致了这种宽大,有没有办法实施更严格的判断?