我收到了警告…

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

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

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

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

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


当前回答

我在Angular 2中创建可注入服务时也遇到了同样的问题。 我把所有的东西都放在tsconfig中。我仍然在ColorsImmutable行得到这个错误。

@Injectable()
export class ColorsImmutable {

修复方法是在模块级或组件级注册服务 使用providers数组。 提供者:[ColorsImmutable],

其他回答

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

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

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

在Visual Code Studio中 进入文件>>首选项>>设置,在搜索字段中搜索“decorator”,并检查图像中的选项。

File -> Preferences -> Settings

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

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