如何为 TypeScript 编译器指定布尔值 (true/false) 选项

How can I specify boolean (true/false) options for TypeScript compiler

我正在使用:

$ tsc --version
Version 2.0.8

并尝试像这样将 --experimentalDecorators option 传递给 tsc

$ tsc --experimentalDecorators true greeter.ts
//error TS6053: File 'true.ts' not found.

像这样

$ tsc greeter.ts --experimentalDecorators true
//error TS6053: File 'true.ts' not found.

像这样

$ tsc greeter.ts --experimentalDecorators=true
// error TS5023: Unknown compiler option 'experimentaldecorators=true'.

但运气不好。将选项传递给 tsc 的正确方法是什么?

布尔标志默认为 false,因此您无需随标志一起指定值。当您想要将其从 false 更改为 true 时,您只需要包含该标志。

删除true:

tsc --experimentalDecorators greeter.ts

对于需要字符串的编译器选项,紧跟在参数后面的值指定参数的值。例如:

tsc --module system greeter.ts

对于需要字符串数组的编译器选项,各个字符串值应以逗号分隔:

tsc --lib es5,es6 greeter.ts

如果传入的值与参数名称不匹配或不在预期参数值的位置,则编译器假定传入的值是文件名。

目前,编译器允许passing in explicit boolean values

当您针对 tsconfig.json 进行编译并希望为当前编译器的目的覆盖特定值时,将显式布尔值传递给编译器是一个很好的用例 运行.

在这种情况下,想象一下如果您的 tsconfig.jsonexperimentalDecorators 设置为 false,并且您想在 true 时测试编译而不更改项目本身:

tsc --experimentalDecorators true greeter.ts

您可以将 false 传递给标志。

tsc --noEmit false