Angular VisualStudio对装饰器的实验支持是一项功能,在将来的发布错误中可能会发生更改

Angular VisualStudio对装饰器的实验支持是一项功能,在将来的发布错误中可能会发生更改,angular,typescript,Angular,Typescript,我在angular 6应用程序中有common-helper.ts,我认为“对装饰器的实验性支持是一项功能,在未来的版本中可能会发生更改。设置“实验性装饰器”选项以删除此警告”我的命名约定是否错误?因为当我删除“-”并将文件名更改为“commonhelper.ts”时,错误正在修复。当我添加tsconfig.json文件“experimentalDecorators”时:true,错误不会修复 @Injectable({ providedIn: 'root' }) export class

我在angular 6应用程序中有common-helper.ts,我认为“对装饰器的实验性支持是一项功能,在未来的版本中可能会发生更改。设置“实验性装饰器”选项以删除此警告”我的命名约定是否错误?因为当我删除“-”并将文件名更改为“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.json中

"compilerOptions": {
    "experimentalDecorators": true,
    "allowJs": true,
...
}
这就是我在互联网上搜索过的关于这个主题的其他评论/帖子所说的。。。让我很沮丧。。。但我发现区别在于:

将此项置于编译器选项的最顶端,然后再执行其他操作

因为订购的缘故,有些事情搞砸了。希望有帮助?将experimentalDecorators和allowJS参数放在对象的最顶端,然后再做其他事情。

这对我来说很有效

修改.csproj文件以添加:
True

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


不,您的代码没有问题。只是typescript确切地告诉您,装饰程序可能会在稍后更改其实现。转到tsconfig并将
“experimentalDecorators”:true
添加到编译器选项我将其从tsconfig.json更改为true。但它不是固定的@RitaJ尝试重新编译项目并关闭/打开文本编辑器。我重新编译项目并关闭/打开文本编辑器。但还是给我错误。我编辑了我的问题,并将我的tsconfig.json添加到问题@ritaj中,所以你说这是一个重复的答案/问题,也许这对我不起作用,目前看来还可以,所以无论我是留在VSC还是关闭并打开angular 7项目,它仍然给出了红色的曲线,并显示了,例如,如果我打开了app.component.ts,那么它将显示为对装饰器的实验性支持,这是一项功能,在未来的版本中可能会发生更改。在“tsconfig”或“jsconfig”中设置“experimentalDecorators”选项以删除此警告。在VSCode中,转到
首选项->设置
,您将看到启用/禁用experimentalDecorators的选项。选中它并保存设置文件。多恩