我有一个名为app.ts的文件,看起来像这样。
interface Foo {
bar:String;
}
const fn = (foo? :Foo) => foo.bar;
由于在tsconfig.json文件中包含strict:true
,因此当我从根文件夹运行tsc
时会遇到一个不错的错误。错误看起来像这样。
app.ts:5:27 - error TS2532: Object is possibly 'undefined'.
5 const fn = (foo? :Foo) => foo.bar;
这正是我所期望的。但是,当我运行tsc app.ts
时,我完全没有错误,并且app.js文件已生成!不是我所期望的。为什么会这样?
答案 0 :(得分:2)
这是因为tsc
可以完成一个整个项目(并占用tsconfig.json
)或一个文件,但不能同时做这两个文件。
在单个文件中调用tsc
时,它不会查看tsconfig.json
(请参阅this documentation)。
在命令行上指定输入文件时,将忽略 tsconfig.json文件。
(重点是我的)
这背后的原因对我来说还是个谜。