我收到了警告…

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

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

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

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

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


当前回答

我在下面的语句中有这个错误

对装饰器的实验性支持是一个在未来版本中可能会更改的特性。在你的tsconfig或jsconfig中设置'experimentalDecorators'选项来删除这个警告。ts(1219)

这是因为我的组件没有在AppModule或(app.module.ts)中注册 我简单地给命名空间

import {abcComponent} from '../app/abc/abc.component';

并在申报中进行了登记

其他回答

"javascript.implicitProjectConfig.experimentalDecorators": true

将解决这个问题。

为了清晰和愚蠢。

1) 打开 .vscode/settings.json。

2)添加“typescript”。Tsdk ": "node_modules/typescript/lib"

3)保存。

4)重启Visual Studio代码。

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

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

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

在tsconfig中添加以下行。重新启动VS Code。

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

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