我正试图解决使用闭包编译器缩小typescript应用程序时出现的警告,使用我的tsconfig.json
。
我当前的配置:
{
"compilerOptions": {
"target": "es5",
"module": "system",
"noImplicitAny": false,
"removeComments": true,
"preserveConstEnums": true,
"outFile": "app.js",
"sourceMap": true
},
"files": [ ... ]
}
但是,对于使用关键字
delete
、finally
和abstract
,我得到了以下警告:警告-在旧版本的javascript中,关键字和保留字不允许作为未引用的属性名。如果您的目标是较新版本的javascript,请设置相应的language_-in选项。
我确实看到了答案,How can I set the language_in option for the Closure compiler?建议使用
--compiler_flags="--language_in=ECMASCRIPT5"
来解决问题,但这正是我认为"target": "es5"
在我的tsconfig.json
中所做的?因此,尽管设置了
target
,而且我看不到其他配置选项会影响language_in
设置read the tsconfig.json
spec,但我不确定如何解决。显然,我可以引用属性名,或者忽略警告,但我希望解决警告,因为我不针对较旧的浏览器。
最佳答案
tsconfig.json
被typescript编译器使用,在其中推送闭包编译器选项是行不通的,闭包编译器无论如何也不知道如何处理tsconfig.json
。对闭包编译器的输入应该是JavaScript(ES3、ES5或ES6),而不是Type Script,因此需要建立构建过程来将您的Type Script源编译成JavaScript,然后将JavaScript移植到闭包编译器。在您链接到闭包编译器的问题中,调用闭包编译器时会在命令行上传递选项。
关于javascript - 如何在tsconfig.json中设置'language_in'选项?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35150736/