我收到了警告…

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

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

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

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

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


当前回答

当您选择“src”文件夹作为工作区文件夹时,也会发生此错误。

当选择“src”,“node_modules”所在的根文件夹时,错误消失

其他回答

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

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

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

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

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

为了清晰和愚蠢。

1) 打开 .vscode/settings.json。

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

3)保存。

4)重启Visual Studio代码。

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

 tsc filename.ts --experimentalDecorators "true"

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

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