对装饰器的实验性支持是一项可能会在未来版本中更改的功能

对装饰器的实验性支持是一项可能会在未来版本中更改的功能

Experimental support for decorators is a feature that is subject to change in a future release

要解决错误“对装饰器的实验性支持是一项在未来版本中可能会更改的功能”,请确保
在您的文件中设置
experimentalDecoratorsto并在必要时重新启动您的 IDE 和开发服务器。truetsconfig.json

实验性支持功能可能会发生变化

下面是错误如何发生的示例。

索引.ts
// ⛔️ 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); }
您需要做的第一件事是检查您的文件中是否启用了 experimentalDecoratorstsconfig.json

tsconfig.app.json请注意,如果使用 Angular 或构建过程中使用的任何配置文件,这也可能是您的文件。

tsconfig.json文件
{ "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.

进行更改后重新启动 IDE 和开发服务器。

即使您

tsconfig.json
experimentalDecorators文件中设置了选项, VSCode 也经常出现故障并需要重启true

解决 Visual Studio Code 中的错误

如果您在 VSCode 中遇到错误,您可以使用编辑器的设置来启用实验性装饰器。

解决 VSCode 中的错误:

  1. 单击CTRL + ,以打开您的编辑器设置。
  2. 在搜索栏中输入:implicitProjectConfig.experimental
  3. 检查设置的复选框Experimental Decorators

vscode 启用实验性装饰器

  1. 重新启动您的 IDE。
如果这些建议均无效,则您的代码编辑器可能正在运行不支持装饰器的旧版本 TypeScript。

如果您使用 VSCode,您可以按CTRL + Shift + P打开命令面板并输入typescript version并单击
TypeScript: Select TypeScript version然后单击Use Workspace version

如果您的项目本地没有安装 TypeScript,请在​​项目的根目录中打开终端并安装它。

npm install -D typescript@latest

现在重新运行这些步骤以确保您的代码编辑器使用正确的 TypeScript 版本。

我还写了一篇关于
如何检查安装了哪个版本的 TypeScript 的文章。