我收到了警告…

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

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

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

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

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


当前回答

当我创建一个新模块并移动我的*.module时,我遇到了这个错误。Ts和*-routing.module。Ts文件到另一个文件夹。在我删除了这两个文件并在新文件夹上创建了模块后,它可以完美地工作。 Angular版本9和Angular CLI版本9.1.0

其他回答

必须添加typescript。TSDK到我的.vscode/settings.json:

"typescript.tsdk": "node_modules/typescript/lib"

打开设置。Json文件在以下位置<project_folder>/.vscode/settings.json

或者您可以从下面提到的菜单中打开该文件

VSCode -> File -> Preferences -> Workspace Settings

然后在“设置”中添加以下行。json文件

{
    "typescript.tsdk": "node_modules/typescript/lib",
    "enable_typescript_language_service": false
}

这是所有。关于'experimentalDecorators'你不会看到任何警告/错误

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

我通过从tsconfig中删除"baseUrl": ""来纠正这个警告。json文件

如果您正在使用cli编译*。在ts文件中,可以使用以下命令设置experimentalDecorators:

 tsc filename.ts --experimentalDecorators "true"