我收到了警告…
对装饰器的实验性支持是一个在未来版本中可能会更改的特性。设置'experimentalDecorators'选项'以删除此警告。
... 即使我的编译选项在tsconfig。Json有以下设置:
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
奇怪的是,一些使用装饰器的随机类不显示警告,但同一项目中的其他类会显示警告。
在TypeScript编译器中,什么会导致这种行为?
我收到了警告…
对装饰器的实验性支持是一个在未来版本中可能会更改的特性。设置'experimentalDecorators'选项'以删除此警告。
... 即使我的编译选项在tsconfig。Json有以下设置:
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
奇怪的是,一些使用装饰器的随机类不显示警告,但同一项目中的其他类会显示警告。
在TypeScript编译器中,什么会导致这种行为?
当前回答
如果您正在使用cli编译*。在ts文件中,可以使用以下命令设置experimentalDecorators:
tsc filename.ts --experimentalDecorators "true"
其他回答
"javascript.implicitProjectConfig.experimentalDecorators": true
将解决这个问题。
我不想赘述这一点,但一定要补充以下内容
工作区设置,而不是用户设置
在文件>>首选项>>设置
“javascript.implicitProjectConfig。experimentalDecorators”:真正的
这为我解决了这个问题,我尝试了我在这里和其他地方找到的一些建议。
VScode开放。 按ctrl +逗号 按照屏幕截图中的说明操作 搜索有关 experimentalDecorators 编辑它
创建一个新的Angular服务时,我会在vscode中得到这个警告
@Injectable({
providedIn: 'root'
})
语法(而不是在app.module.ts中提供服务)。
警告一直持续到我在项目的某个地方引用新服务为止。一旦该服务被使用,警告就会消失。不需要更改typescript配置或vscode设置。
在项目中创建文件tsconfig。Json,然后添加这些行
{
"compilerOptions": {
"experimentalDecorators": true,
"allowJs": true
}
}