我收到了警告…
对装饰器的实验性支持是一个在未来版本中可能会更改的特性。设置'experimentalDecorators'选项'以删除此警告。
... 即使我的编译选项在tsconfig。Json有以下设置:
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
奇怪的是,一些使用装饰器的随机类不显示警告,但同一项目中的其他类会显示警告。
在TypeScript编译器中,什么会导致这种行为?
我收到了警告…
对装饰器的实验性支持是一个在未来版本中可能会更改的特性。设置'experimentalDecorators'选项'以删除此警告。
... 即使我的编译选项在tsconfig。Json有以下设置:
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
奇怪的是,一些使用装饰器的随机类不显示警告,但同一项目中的其他类会显示警告。
在TypeScript编译器中,什么会导致这种行为?
当前回答
请检查你在VS Code中打开了整个项目的文件夹,而不仅仅是src文件夹,因为如果你只打开src文件夹,那么ts.config.json(位于项目文件夹中)文件将不在范围内,VS将不识别实验装饰器参数。
在我的案例中,这解决了与此问题相关的所有问题。
其他回答
必须添加typescript。TSDK到我的.vscode/settings.json:
"typescript.tsdk": "node_modules/typescript/lib"
打开整个项目的文件夹而不是project-name/src
tsconfig。Json不在SRC文件夹中
我在Angular 2中创建可注入服务时也遇到了同样的问题。 我把所有的东西都放在tsconfig中。我仍然在ColorsImmutable行得到这个错误。
@Injectable()
export class ColorsImmutable {
修复方法是在模块级或组件级注册服务 使用providers数组。 提供者:[ColorsImmutable],
File -> Preferences -> Settings
我不想赘述这一点,但一定要补充以下内容
工作区设置,而不是用户设置
在文件>>首选项>>设置
“javascript.implicitProjectConfig。experimentalDecorators”:真正的
这为我解决了这个问题,我尝试了我在这里和其他地方找到的一些建议。