我收到了警告…

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

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

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

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

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


当前回答

对我来说,这个错误“对装饰器的实验性支持是一个在未来版本中可能会更改的特性。(etc)”只会在Angular项目的VS Code中出现,而且只会在创建新服务时出现。

上面的解决方案:“在Visual Code Studio转到文件>>首选项>>设置,在搜索字段搜索“decorator”,并检查选项JavaScript›隐式项目配置:实验Decorators”解决了这个问题。

此外,在终端窗口中停止ng服务并重新启动它可以使错误在重新编译后消失。

其他回答

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

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

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

步骤1:在VS code中按ctrl +

步骤2:输入'js/ts。implicitProjectConfig: Experimental Decorators的搜索框

第三步:选中与搜索相关的复选框

VScode开放。 按ctrl +逗号 按照屏幕截图中的说明操作 搜索有关 experimentalDecorators 编辑它

虽然VS Code对于TypeScript项目来说是一个很棒的编辑器,但它需要时不时地踢一下。通常,在没有警告的情况下,某些文件会导致它崩溃并报错。大多数修复方法似乎是保存并关闭所有打开的文件,然后打开tsconfig.json。在此之后,您应该能够重新打开有问题的文件而不会出现错误。如果不奏效,就打泡沫,冲洗,然后重复。

如果你的tsconfig。json使用files数组指定它的源文件,智能感知只有在有问题的文件被引用时才能正常工作,这样VS Code可以通过遍历输入文件树找到它。

编辑:“重新加载窗口”命令(多年前添加的)应该一劳永逸地解决这个问题。

对我来说,这个错误“对装饰器的实验性支持是一个在未来版本中可能会更改的特性。(etc)”只会在Angular项目的VS Code中出现,而且只会在创建新服务时出现。

上面的解决方案:“在Visual Code Studio转到文件>>首选项>>设置,在搜索字段搜索“decorator”,并检查选项JavaScript›隐式项目配置:实验Decorators”解决了这个问题。

此外,在终端窗口中停止ng服务并重新启动它可以使错误在重新编译后消失。