对装饰器的实验性支持是一项可能会在未来版本中更改的功能
Experimental support for decorators is a feature that is subject to change in a future release
要解决错误“对装饰器的实验性支持是一项在未来版本中可能会更改的功能”,请确保
在您的文件中设置experimentalDecorators
to并在必要时重新启动您的 IDE 和开发服务器。true
tsconfig.json
下面是错误如何发生的示例。
// ⛔️ Error: Experimental support for decorators is a feature // that is subject to change in a future release. // Set the 'experimentalDecorators' option in your 'tsconfig' or 'jsconfig' to remove this warning.ts(1219) @sealed class BugReport { type = 'report'; title: string; constructor(t: string) { this.title = t; } } function sealed(constructor: any) { Object.seal(constructor); Object.seal(constructor.prototype); }
experimentalDecorators
tsconfig.json
tsconfig.app.json
请注意,如果使用 Angular 或构建过程中使用的任何配置文件,这也可能是您的文件。
{ "compilerOptions": { "target": "es6", "rootDir": "src", "outDir": "build", "experimentalDecorators": true, // 👈️ must be enabled "emitDecoratorMetadata": true, }, "include": ["src/**/*"], "exclude": ["node_modules"] }
experimentalDecorators
设置启用对装饰器的
实验性支持。
确保文件包含在你的项目中
如果您使用include或
files选项,请确保您在其中使用装饰器的文件包含在您的项目中并且正在被 TypeScript 跟踪。
如果您的项目使用排除
选项,请确保您的exclude
数组不排除您在其中使用装饰器的文件。
exclude
选项会更改该include
选项找到的内容,有效地从编译中过滤掉一些文件夹或文件。如果 TypeScript 找不到您正在使用装饰器的文件,即使在启用experimentalDecorators
.
即使您
在
tsconfig.jsonexperimentalDecorators
文件中设置了选项, VSCode 也经常出现故障并需要重启。true
解决 Visual Studio Code 中的错误
如果您在 VSCode 中遇到错误,您可以使用编辑器的设置来启用实验性装饰器。
解决 VSCode 中的错误:
- 单击
CTRL + ,
以打开您的编辑器设置。 - 在搜索栏中输入:
implicitProjectConfig.experimental
- 检查设置的复选框
Experimental Decorators
。
- 重新启动您的 IDE。
如果您使用 VSCode,您可以按CTRL + Shift + P
打开命令面板并输入typescript version
并单击
TypeScript: Select TypeScript version
然后单击Use Workspace version
。
如果您的项目本地没有安装 TypeScript,请在项目的根目录中打开终端并安装它。
npm install -D typescript@latest
现在重新运行这些步骤以确保您的代码编辑器使用正确的 TypeScript 版本。
我还写了一篇关于
如何检查安装了哪个版本的 TypeScript 的文章。