我收到了警告…

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

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

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

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

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


当前回答

步骤1:在VS code中按ctrl +

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

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

其他回答

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

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

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

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

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

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

这个答案是为那些使用Javascript项目而不是Typescript项目的人准备的。而不是tsconfig。Json文件,你可以使用jsconfig。json文件。

在有decorator警告的特殊情况下,你可以在文件内部写:

{
    "compilerOptions": {
        "experimentalDecorators": true
    }
}

对于有问题的行为,最好在配置文件中指定“include”,并重新启动编辑器。如。

{
    "compilerOptions": {
        "target": "ES6",
        "experimentalDecorators": true
    },
    "include": [
        "app/**/*"
    ],
    "exclude": [
        "node_modules"
    ]
}

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

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

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