我收到了警告…

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

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

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

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

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


当前回答

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

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

其他回答

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

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

VSCode -> File -> Preferences -> Workspace Settings

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

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

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

为了清晰和愚蠢。

1) 打开 .vscode/settings.json。

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

3)保存。

4)重启Visual Studio代码。

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

 tsc filename.ts --experimentalDecorators "true"

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

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

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

我不想赘述这一点,但一定要补充以下内容

工作区设置,而不是用户设置

在文件>>首选项>>设置

“javascript.implicitProjectConfig。experimentalDecorators”:真正的

这为我解决了这个问题,我尝试了我在这里和其他地方找到的一些建议。