我收到了警告…
对装饰器的实验性支持是一个在未来版本中可能会更改的特性。设置'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"
如果你使用Deno JavaScript和TypeScript运行时,并且在tsconfig中启用了experimentalDecorators:true。json或VSCode ide设置。这是行不通的。根据Deno要求,在运行Deno文件时需要提供tsconfig作为标志。参见自定义TypeScript编译器选项
在我的特殊情况下,我正在运行一个Deno测试并使用。
$ deno test -c tsconfig.json
如果它是一个文件,你会有
$ deno run -c tsconfig.json mod.ts
我tsconfig.json
{
"compilerOptions": {
"allowJs": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"module": "esnext"
}
}
您也可以尝试使用ng build。我刚刚重建了应用程序,现在它不遵守。
步骤1:在VS code中按ctrl +
步骤2:输入'js/ts。implicitProjectConfig: Experimental Decorators的搜索框
第三步:选中与搜索相关的复选框
在我的例子中,我只需要将我创建的组件或模块导入到另一个模块中(例如共享模块)。以某种方式,VS Code实现文件的存在。