我收到了警告…

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

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

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

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

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


当前回答

在项目中创建文件tsconfig。Json,然后添加这些行

{
    "compilerOptions": {
        "experimentalDecorators": true,
        "allowJs": true
    }
}

其他回答

我最近在Visual Studio 2017下遇到了这个问题——原来这是由VS的一个“功能”引起的——忽略tsconfig。当构建操作未设置为内容时,json。

因此,将Build操作更改为Content并重新加载解决方案就解决了这个问题。

在项目中创建文件tsconfig。Json,然后添加这些行

{
    "compilerOptions": {
        "experimentalDecorators": true,
        "allowJs": true
    }
}

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

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

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

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

您也可以尝试使用ng build。我刚刚重建了应用程序,现在它不遵守。