我收到了警告…

对装饰器的实验性支持是一个在未来版本中可能会更改的特性。设置'experimentalDecorators'选项'以删除此警告。

... 即使我的编译选项在tsconfig。Json有以下设置:

"emitDecoratorMetadata": true,
"experimentalDecorators": true,

奇怪的是,一些使用装饰器的随机类不显示警告,但同一项目中的其他类会显示警告。

在TypeScript编译器中,什么会导致这种行为?


当前回答

打开整个项目的文件夹而不是project-name/src

tsconfig。Json不在SRC文件夹中

其他回答

如果你在Visual studio工作。您可以尝试此修复

卸载你的项目从visual studio 转到项目主目录,打开“csproj”文件。 将TypeScriptExperimentalDecorators添加到此部分,如图所示 在Visual studio中重新加载项目。

在这个位置查看更多细节。

在VSCode中,转到File => Preferences => Settings(或Control+逗号),它将打开用户设置文件。搜索“javascript.implicitProjectConfig。experimentalDecorators”:真正的 然后勾选experimentalDecorators到文件的复选框,它应该会修复它。对我来说确实如此。

我在tsconfig中添加了这个选项。将前端替换为angular-cli项目的名称。

如果您打开存在于项目外部的TS文件,您可能会遇到这个问题。例如,我正在使用lerna,并从另一个包中打开了一个文件。尽管另一个包有自己的tsconfig和实验性的装饰器,但VsCode并不尊重它。

我在项目中使用了React和Nest。 后端显示此错误,但将这两行添加到react的tsconfig。Json出于某种原因修复了这个问题。此外,以上的一切都不适合我

"compilerOptions": {
    ...
    "experimentalDecorators": true,
    "strictPropertyInitialization": false
},