【问题标题】:"Property Not Allowed" in angular.json error in Visual Studio CODE for Angular CLI version 9.1.1Visual Studio CODE for Angular CLI 版本 9.1.1 中的 angular.json 错误中的“属性不允许”
【发布时间】:2020-07-25 11:42:49
【问题描述】:

我使用 Angular CLI 9.1.1 创建了一个新项目,VSCode 在angular.json 文件中给了我以下警告:

Property AM is not allowed

AM 是我的项目名称

我想解决此警告,但不知道如何解决。

【问题讨论】:

  • 即使版主关闭了问题,请添加您找到 Shruti 的任何进一步信息,更多人关注此问题。
  • 我也看到了同样的情况。如果我将项目名称更改为小写,它似乎可以工作。但是我的项目名称是首字母缩写,所以大写是正确的。这是一个错误吗?

标签: angular visual-studio-code


【解决方案1】:

有 2 个解决方案对我来说 100% 可以解决 angular.json 文件中“属性不允许”的问题。

  1. 在VS code cmd中使用命令 Ctrl+C 选择选项 Y 或

  2. 在 angular.json 文件中编辑后重启 VS 代码 希望对您有所帮助。

【讨论】:

    【解决方案2】:

    更改所有 .json 文件中的项目名称

    【讨论】:

      【解决方案3】:

      为 Angular 10 项目安装的包的项目名称结构发生了变化。

      Angular 安装的包中的名为“schema.json”的文件有一个属性名称“projects”,它具有为项目名称定义的架构结构。

      看起来像这样:

      "projects": {
        "type": "object",
        "patternProperties": {
            "^(?:@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$": {
            "$ref": "#/definitions/project"
          }
        }
      

      它被配置为小写项目名称。 您只需更改正则表达式,以便考虑您的大写项目名称。

      修改代码如下:

      "projects": {
        "type": "object",
        "patternProperties": {
          "^(?:@[a-zA-Z0-9-~][a-zA-Z0-9-._~]*\/)?[a-zA-Z0-9-~][a-zA-Z0-9-._~]*$": {
            "$ref": "#/definitions/project"
          }
        }
      

      schema.json 位于以下路径:

      ./node_modules/@angular/cli/lib/config/schema.json

      schema.json 文件更改后,重新启动您的可视化代码编辑器。

      【讨论】:

        【解决方案4】:

        将“angular.json”中的项目名称和所有其他出现的项目名称更改为小写字母时,错误消失了。 无需创建另一个项目或任何其他东西。

        【讨论】:

          【解决方案5】:

          架构区分大小写。如果您想修复:

          转到: ./node_modules/@angular/cli/lib/config/schema.json

          在第 27 行左右,您应该找到:

           "projects": {
                "type": "object",
                "patternProperties": {
                  "^(?:@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$": {
                    "$ref": "#/definitions/project"
                  }
                },
          

          更改正则表达式模式以允许大写项目名称:

          "^(?:@[a-zA-Z0-9-~][a-zA-Z0-9-._~]*\/)?[a-zA-Z0-9-~][a-zA-Z0-9-._~]*$"
          

          【讨论】:

          • 这解决了问题(在我关闭并重新打开 VS Code 之后)。但是,作为node_modules下的编辑文件,每次运行npm install时都会覆盖到原来的文件吗?
          • @FrySimpson 要回答您的问题,运行 npm install 不会恢复修改。
          • @Yassir,谢谢。为了“记住”修改,我想如果我手动删除 node_modules 以便与某人共享我的代码,我必须记住保留 package-lock.json 文件。
          • 请注意,这需要重新启动。我一开始没有想到这一点,浪费了一点时间。
          • 如果“node_modules”文件夹通常不在 git 上,你怎么做。当然你可以为这个文件例外,但是......
          【解决方案6】:

          通过创建另一个项目来解决该错误,但这次使用小写字母的项目名称。

          【讨论】:

          • 这实际上并不能解决问题,尤其是当您在启动项目后很长时间发现问题时。
          【解决方案7】:

          它在 stackblitz 上运行良好,有时 VS 代码行为异常。尝试关闭 VS 代码并再次打开,这在大多数情况下都会有所帮助

          工作示例 https://stackblitz.com/edit/angular-dhtbbh

          【讨论】:

            猜你喜欢
            • 2021-04-27
            • 1970-01-01
            • 2019-06-08
            • 2017-03-04
            • 1970-01-01
            • 1970-01-01
            • 2021-12-17
            • 2017-02-20
            • 1970-01-01
            相关资源
            最近更新 更多