ben*_*siu 183 decorator typescript visual-studio-code
我有
对装饰器的实验性支持是一个在将来的版本中可能会发生变化的功能.设置'experimentalDecorators'选项`以删除此警告.
甚至我在tsconfig.json中的compilerOptions都有设置:
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
Run Code Online (Sandbox Code Playgroud)
有些奇怪的是,一些使用装饰器的随机类没有显示出警告,但在同一个项目中却没有.
什么可能导致TypeScript编译器的这种行为?
lin*_*ina 168
尽管VS Code是TypeScript项目的一个很好的编辑器,但它需要一次又一次地踢.通常,在没有任何警告的情况下,某些文件会导致它出现并引发抱怨.大多数修复似乎是保存并关闭所有打开的文件,然后打开tsconfig.json.之后,您应该能够无错误地重新打开有问题的文件.如果不起作用,请起泡,冲洗并重复.
如果您tsconfig.json使用files数组指定其源文件,则只有在引用相关文件时,IntelliSense才能正常运行,以便VS代码可以通过遍历输入文件树找到它.
编辑:'重新加载窗口'命令(现在很久以前添加)应该一劳永逸地解决这个问题.
Man*_*aul 153
我要在vscode的settings.json文件中添加以下内容以删除警告.
"javascript.implicitProjectConfig.experimentalDecorators": true
VSCode - >首选项 - >设置
Sem*_*jić 89
当您为工作区文件夹选择"src"文件夹时,也会发生此错误.
当选择根文件夹,"src","node_modules"所在的文件夹时,错误消失
小智 30
在 VSCode 中,转到文件 => 首选项 => 设置(或 Control+逗号),它将打开用户设置文件。搜索 "javascript.implicitProjectConfig.experimentalDecorators": true 然后检查文件中的 ExperimentalDecorators 复选框,它应该修复它。它对我有用。
bee*_*est 24
必须添加typescript.tsdk到我的.vscode/settings.json:
"typescript.tsdk": "node_modules/typescript/lib"
Run Code Online (Sandbox Code Playgroud)
小智 23
File -> Preferences -> Settings

Muh*_*ssa 22
在你的项目中创建文件tsconfig.json,然后添加这一行
{
"compilerOptions": {
"experimentalDecorators": true,
"allowJs": true
}
}
Run Code Online (Sandbox Code Playgroud)
小智 19
对我来说,这个错误“对装饰器的实验性支持是一项在未来版本中可能会发生变化的功能。(等)”仅在 Angular 项目中的 VS Code 中发生,并且仅在创建新服务时发生。
上面的解决方案:“在 Visual Code Studio 中转到文件 >> 首选项 >> 设置,在搜索字段中搜索“装饰器”并检查选项 JavaScript › 隐式项目配置:实验装饰器”解决了该问题。
此外,在终端窗口中停止 ng serve 并重新启动它会使重新编译后错误消失。
Pau*_*l D 15
使用以下命令创建新的 Angular 服务时,vscode 中显示此警告
@Injectable({
providedIn: 'root'
})
Run Code Online (Sandbox Code Playgroud)
语法(而不是在 app.module.ts 中提供服务)。
警告一直存在,直到我在项目中的某处引用新服务。一旦服务被使用,警告就会消失。无需更改打字稿配置或 vscode 设置。
Bil*_*mad 12
第1步:在VS代码中按 ctrl + ,
第 2 步:在搜索框中输入“js/ts.implicitProjectConfig: Experimental Decorators”
第3步:选中与搜索相关的复选框
Vin*_*raj 10
settings.json在以下位置打开文件<project_folder>/.vscode/settings.json
或者您可以从菜单中打开文件,如下所述
VSCode -> File -> Preferences -> Workspace Settings
然后在settings.json文件中添加以下行
{
"typescript.tsdk": "node_modules/typescript/lib",
"enable_typescript_language_service": false
}
Run Code Online (Sandbox Code Playgroud)
就这样.关于' experimentalDecorators ',你不会看到任何警告/错误
小智 10
"javascript.implicitProjectConfig.experimentalDecorators": true
Run Code Online (Sandbox Code Playgroud)
会解决这个问题.
此答案适用于使用Javascript项目但不使用Typescript的人员.代替的tsconfig.json文件,你可以使用jsconfig.json文件.
在装饰器警告您要写入文件内的特定情况下:
{
"compilerOptions": {
"experimentalDecorators": true
}
}
Run Code Online (Sandbox Code Playgroud)
要求有问题的行为,最好在配置文件中指定"include",然后重新启动编辑器.例如
{
"compilerOptions": {
"target": "ES6",
"experimentalDecorators": true
},
"include": [
"app/**/*"
],
"exclude": [
"node_modules"
]
}
Run Code Online (Sandbox Code Playgroud)
不要强调这一点,但一定要添加以下内容
在文件>>首选项>>设置下
"javascript.implicitProjectConfig.experimentalDecorators":true
这解决了我的问题,我尝试了一些我在这里和其他地方找到的建议.
小智 7
在tsconfig.json中添加以下行并重新启动VS Code.
{
"compilerOptions": {
"experimentalDecorators": true,
"target": "es5",
"allowJs": true
}
}
Run Code Online (Sandbox Code Playgroud)
我最近在Visual Studio 2017下遇到了这个问题-原来是由VS的“功能”引起的-Build操作未设置为Content时忽略了tsconfig.json。
因此,将Build操作更改为Content并重新加载解决方案即可解决该问题。
如果您使用 cli 编译 *.ts 文件,您可以使用以下命令设置 ExperimentalDecorators:
tsc filename.ts --experimentalDecorators "true"
Run Code Online (Sandbox Code Playgroud)
小智 6
我在以下语句中遇到此错误
对装饰器的实验性支持是一项在未来版本中可能会发生变化的功能。在 tsconfig 或 jsconfig 中设置“experimentalDecorators”选项以删除此警告。ts(1219)
它在那里是因为我的组件没有在AppModule或(app.module.ts)中注册,我只是给出了像这样的命名空间
从 '../app/abc/abc.component' 导入 { abcComponent };
并在声明中进行了注册
为了清晰和愚蠢。
1) 打开 .vscode/settings.json。
2)在其上添加“typescript.tsdk”:“node_modules/typescript/lib”。
3)保存。
4) 重新启动 Visual Studio Code。
| 归档时间: |
|
| 查看次数: |
125759 次 |
| 最近记录: |