我收到了警告…
对装饰器的实验性支持是一个在未来版本中可能会更改的特性。设置'experimentalDecorators'选项'以删除此警告。
... 即使我的编译选项在tsconfig。Json有以下设置:
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
奇怪的是,一些使用装饰器的随机类不显示警告,但同一项目中的其他类会显示警告。
在TypeScript编译器中,什么会导致这种行为?
我收到了警告…
对装饰器的实验性支持是一个在未来版本中可能会更改的特性。设置'experimentalDecorators'选项'以删除此警告。
... 即使我的编译选项在tsconfig。Json有以下设置:
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
奇怪的是,一些使用装饰器的随机类不显示警告,但同一项目中的其他类会显示警告。
在TypeScript编译器中,什么会导致这种行为?
当前回答
这个答案是为那些使用Javascript项目而不是Typescript项目的人准备的。而不是tsconfig。Json文件,你可以使用jsconfig。json文件。
在有decorator警告的特殊情况下,你可以在文件内部写:
{
"compilerOptions": {
"experimentalDecorators": true
}
}
对于有问题的行为,最好在配置文件中指定“include”,并重新启动编辑器。如。
{
"compilerOptions": {
"target": "ES6",
"experimentalDecorators": true
},
"include": [
"app/**/*"
],
"exclude": [
"node_modules"
]
}
其他回答
创建一个新的Angular服务时,我会在vscode中得到这个警告
@Injectable({
providedIn: 'root'
})
语法(而不是在app.module.ts中提供服务)。
警告一直持续到我在项目的某个地方引用新服务为止。一旦该服务被使用,警告就会消失。不需要更改typescript配置或vscode设置。
我在下面的语句中有这个错误
对装饰器的实验性支持是一个在未来版本中可能会更改的特性。在你的tsconfig或jsconfig中设置'experimentalDecorators'选项来删除这个警告。ts(1219)
这是因为我的组件没有在AppModule或(app.module.ts)中注册 我简单地给命名空间
import {abcComponent} from '../app/abc/abc.component';
并在申报中进行了登记
File -> Preferences -> Settings
VScode开放。 按ctrl +逗号 按照屏幕截图中的说明操作 搜索有关 experimentalDecorators 编辑它
在我的例子中,我只需要将我创建的组件或模块导入到另一个模块中(例如共享模块)。以某种方式,VS Code实现文件的存在。