Visual Studio 对装饰器的实验性支持是一项功能,在未来的发布错误中可能会发生变化

Posted

技术标签:

【中文标题】Visual Studio 对装饰器的实验性支持是一项功能,在未来的发布错误中可能会发生变化【英文标题】:Visual studio Experimental support for decorators is a feature that is subject to change in a future release error 【发布时间】:2019-02-24 12:59:30 【问题描述】:

我的 Angular 6 应用程序中有 common-helper.ts,我接受“对装饰器的实验性支持是一项可能在未来版本中更改的功能。设置 'experimentalDecorators' 选项以删除此警告”。 我的命名约定是错误的吗?因为当我删除“-”并将文件名更改为“commonhelper.ts”时,错误正在修复。当我添加 tsconfig.json 文件“experimentalDecorators”时:true,错误没有修复。

@Injectable(
  providedIn: 'root'
)
export class CommonHelper 

  constructor()  

  

我的 tsconfig.json 文件


  "compileOnSave": false,
  "compilerOptions": 
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    //"emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ]
  

【问题讨论】:

不,您的代码没有问题。只是打字稿准确地告诉您,装饰器可能会在以后更改其实现。转到 tsconfig 并将"experimentalDecorators": true 添加到您的编译器选项 我是从 tsconfig.json 改过来的。但这不是修复。 @ritaj 尝试重新编译您的项目并关闭/打开您的文本编辑器。 我重新编译了项目并关闭/打开文本编辑器。但仍然给我错误。我编辑了我的问题,并将我的 tsconfig.json 添加到问题@ritaj 【参考方案1】:

tsconfig.json 中:

"compilerOptions": 
    "experimentalDecorators": true,
    "allowJs": true,
...

这是我在互联网上搜索过的关于该主题的所有其他评论/帖子所说的......这让我很沮丧......但我发现有什么不同是:

把它放在编译器选项的最顶端

所以有些东西因为订购而搞砸了。希望有帮助吗?将实验性装饰器和 allowJS 参数放在对象的最顶部。

【讨论】:

这对我不起作用,暂时看起来还可以,所以无论我留在 VSC 还是关闭并打开我的 angular 7 项目,它仍然会给出红色波浪线并显示例如如果我打开了 app.component.ts,那么它将显示为对装饰器的实验性支持是一项在未来版本中可能会发生变化的功能。在“tsconfig”或“jsconfig”中设置“experimentalDecorators”选项以删除此警告。 在 VSCode 中转到preferences -> settings,您将看到enable/disable experimentalDecorators 的选项。检查它并保存设置文件。完成【参考方案2】:

这个SO answer 为我工作。

修改您的 .csproj 文件以添加: <TypeScriptExperimentalDecorators>True</TypeScriptExperimentalDecorators>

【讨论】:

所以你说这可能是一个重复的答案/问题【参考方案3】:

我在 Ionic 应用程序中遇到了这个问题。我只是从 Visual Studio 中打开了 src 文件夹。如果您使用 Visual Studio 打开整个 ionic 文件夹,您将对问题进行排序,我的错误消失了。使用 Visual Studio 指向主文件夹,然后从那里导航到 ionic home.page.ts 文件 ecc。

【讨论】:

以上是关于Visual Studio 对装饰器的实验性支持是一项功能,在未来的发布错误中可能会发生变化的主要内容,如果未能解决你的问题,请参考以下文章

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

React native 和 MobX:对装饰器的实验性支持是一个主题 [...]。但是“tsconfig”或“jsconfig”不存在

在 karma 中使用“tsify”启用“对装饰器的实验性支持”

对装饰器视觉工作室 2017 的实验性支持

使用 Visual Studio sdk 取消装饰函数名称

VSCode:是不是可以抑制实验性装饰器警告