错误:在“tsconfig”或“jsconfig”中设置“experimentalDecorators”选项以删除此警告
Posted
技术标签:
【中文标题】错误:在“tsconfig”或“jsconfig”中设置“experimentalDecorators”选项以删除此警告【英文标题】:Error: Set the 'experimentalDecorators' option in your 'tsconfig' or 'jsconfig' to remove this warning 【发布时间】:2020-08-04 01:49:32 【问题描述】:我正在尝试让一个基本的装饰器示例在 TypeScript 中工作,但没有任何运气。
我经常看到错误消息:
对装饰器的实验性支持是一项受制于 在将来的版本中更改。设置 'experimentalDecorators' 选项 你的 'tsconfig' 或 'jsconfig' 来删除这个警告。
我的 tsconfig.json 看起来如下(tsconfig 与 index.ts 在同一文件夹中):
"compilerOptions":
"target": "esnext",
"watch": true,
"experimentalDecorators": true,
这似乎是一个非常流行的问题,并且在 SO e 上已被多次询问。 g.:Experimental decorators warning in TypeScript compilation
我已经尝试了所有解决方案,但都没有运气。另外,我的问题似乎与vscode无关。尝试从 shell 运行文件时遇到同样的错误。
到目前为止我已经尝试过:
-
重启 VC 代码
EmitDecoratorMetaData: true
允许实验性装饰器作为 VC 代码中的隐式配置
在 VC 代码中
手动设置 TS 版本
新建 tsconfig.json
编辑
index.ts
function f(): any
console.log("f(): evaluated");
return function (target, propertyKey: string, descriptor: PropertyDescriptor)
console.log("f(): called");
function g(): any
console.log("g(): evaluated");
return function (target, propertyKey: string, descriptor: PropertyDescriptor)
console.log("g(): called");
class C
@f()
@g()
method()
【问题讨论】:
您能分享一下使用的是哪个版本的 TypeScript 吗?你也可以分享你要编译的模块吗?这将有助于重现错误。 TS 版本 3.8.3 我添加了模块 您在 VS Code 中也遇到了问题,还是仅在 CLI 中遇到了问题? 两者都产生同样的错误。 【参考方案1】:您可以使用显式提供给命令行的标志从 CLI 中删除警告:
tsc index.ts --experimentalDecorators
另一种方法是在tsconfig
的files
部分中列出index.ts
。
"files": ["index.ts"],
"compilerOptions":
"target": "esnext",
"experimentalDecorators": true
您可以不带任何参数调用 CLI,它应该可以正常运行。
tsc
我没能在 VS Code 中重现错误。
【讨论】:
【参考方案2】:我注意到 VS Code 在设置中有一个选项可以为不属于项目的文件启用experimentalDecorators
。您的代码文件是您项目的一部分吗?
【讨论】:
【参考方案3】:我在观看模式下遇到了这个错误。使用experimentalDecorators:true 手动更新tsconfig.json 文件并没有为我修复它。有效的解决方案是
杀死监视终端。或按 ctrl C 运行:tsc app.ts --experimentalDecorators --watch
app.js 是你的 TS 入口文件。 之后我检查了我的 tsconfig.json 文件,发现experimentalDecorators 设置为true。
【讨论】:
以上是关于错误:在“tsconfig”或“jsconfig”中设置“experimentalDecorators”选项以删除此警告的主要内容,如果未能解决你的问题,请参考以下文章
mobx对修饰器的实验支持功能在将来的版本中可能更改。在 “tsconfig“ 或 “jsconfig“ 中设置 “experimentalDecorators“ 选项以删除此警告
Typescript错误在tsconfig.json中将模块更改为“umd”或“amd”时找不到模块'typescript-Collections'
如何修复“找不到文件'.../node_modules/dotenv/types'。”来自 jsconfig.json 的错误?