我收到了警告…
对装饰器的实验性支持是一个在未来版本中可能会更改的特性。设置'experimentalDecorators'选项'以删除此警告。
... 即使我的编译选项在tsconfig。Json有以下设置:
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
奇怪的是,一些使用装饰器的随机类不显示警告,但同一项目中的其他类会显示警告。
在TypeScript编译器中,什么会导致这种行为?
我收到了警告…
对装饰器的实验性支持是一个在未来版本中可能会更改的特性。设置'experimentalDecorators'选项'以删除此警告。
... 即使我的编译选项在tsconfig。Json有以下设置:
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
奇怪的是,一些使用装饰器的随机类不显示警告,但同一项目中的其他类会显示警告。
在TypeScript编译器中,什么会导致这种行为?
当前回答
File -> Preferences -> Settings
其他回答
我通过从tsconfig中删除"baseUrl": ""来纠正这个警告。json文件
在VSCode中,转到File => Preferences => Settings(或Control+逗号),它将打开用户设置文件。搜索“javascript.implicitProjectConfig。experimentalDecorators”:真正的 然后勾选experimentalDecorators到文件的复选框,它应该会修复它。对我来说确实如此。
我最近在Visual Studio 2017下遇到了这个问题——原来这是由VS的一个“功能”引起的——忽略tsconfig。当构建操作未设置为内容时,json。
因此,将Build操作更改为Content并重新加载解决方案就解决了这个问题。
这个答案是为那些使用Javascript项目而不是Typescript项目的人准备的。而不是tsconfig。Json文件,你可以使用jsconfig。json文件。
在有decorator警告的特殊情况下,你可以在文件内部写:
{
"compilerOptions": {
"experimentalDecorators": true
}
}
对于有问题的行为,最好在配置文件中指定“include”,并重新启动编辑器。如。
{
"compilerOptions": {
"target": "ES6",
"experimentalDecorators": true
},
"include": [
"app/**/*"
],
"exclude": [
"node_modules"
]
}
您可以使用此代码运行
tsc .\src\index.ts --experimentalDecorators "true" --emitDecoratorMetadata "true"