我收到了警告…

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

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

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

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

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


当前回答

我最近在Visual Studio 2017下遇到了这个问题——原来这是由VS的一个“功能”引起的——忽略tsconfig。当构建操作未设置为内容时,json。

因此,将Build操作更改为Content并重新加载解决方案就解决了这个问题。

其他回答

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

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

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

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

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

我在tsconfig中添加了这个选项。将前端替换为angular-cli项目的名称。

我最近在Visual Studio 2017下遇到了这个问题——原来这是由VS的一个“功能”引起的——忽略tsconfig。当构建操作未设置为内容时,json。

因此,将Build操作更改为Content并重新加载解决方案就解决了这个问题。

我在项目中使用了React和Nest。 后端显示此错误,但将这两行添加到react的tsconfig。Json出于某种原因修复了这个问题。此外,以上的一切都不适合我

"compilerOptions": {
    ...
    "experimentalDecorators": true,
    "strictPropertyInitialization": false
},

打开整个项目的文件夹而不是project-name/src

tsconfig。Json不在SRC文件夹中