我收到了警告…
对装饰器的实验性支持是一个在未来版本中可能会更改的特性。设置'experimentalDecorators'选项'以删除此警告。
... 即使我的编译选项在tsconfig。Json有以下设置:
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
奇怪的是,一些使用装饰器的随机类不显示警告,但同一项目中的其他类会显示警告。
在TypeScript编译器中,什么会导致这种行为?
我收到了警告…
对装饰器的实验性支持是一个在未来版本中可能会更改的特性。设置'experimentalDecorators'选项'以删除此警告。
... 即使我的编译选项在tsconfig。Json有以下设置:
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
奇怪的是,一些使用装饰器的随机类不显示警告,但同一项目中的其他类会显示警告。
在TypeScript编译器中,什么会导致这种行为?
当前回答
在Visual Code Studio中 进入文件>>首选项>>设置,在搜索字段中搜索“decorator”,并检查图像中的选项。
其他回答
如果您打开存在于项目外部的TS文件,您可能会遇到这个问题。例如,我正在使用lerna,并从另一个包中打开了一个文件。尽管另一个包有自己的tsconfig和实验性的装饰器,但VsCode并不尊重它。
在我的例子中,我只需要将我创建的组件或模块导入到另一个模块中(例如共享模块)。以某种方式,VS Code实现文件的存在。
为了清晰和愚蠢。
1) 打开 .vscode/settings.json。
2)添加“typescript”。Tsdk ": "node_modules/typescript/lib"
3)保存。
4)重启Visual Studio代码。
步骤1:在VS code中按ctrl +
步骤2:输入'js/ts。implicitProjectConfig: Experimental Decorators的搜索框
第三步:选中与搜索相关的复选框
我在Angular 2中创建可注入服务时也遇到了同样的问题。 我把所有的东西都放在tsconfig中。我仍然在ColorsImmutable行得到这个错误。
@Injectable()
export class ColorsImmutable {
修复方法是在模块级或组件级注册服务 使用providers数组。 提供者:[ColorsImmutable],