当运行终端命令ng server或ng serve——live-reload=true时,我得到了这个问题:

serve命令需要在Angular项目中运行,但是 找不到项目定义。


当前回答

我犯了一个错误,在Angular应用程序的父目录下运行ng server, OP得到了答案,但如果有人正在搜索答案,可能也想cd到应用程序目录中。

其他回答

我建议确认一下你是否在项目目录中。

我使用的是ionciv1,在文件ionic.config.json中删除angular类型键,它可以正常工作

例子:

  {
  "name": "nombre",
  "integrations": {
    "cordova": {}
  },
  "type": "angular", // delete
  "gulpStartupTasks": [
    "sass",
    "templatecache",
    "ng_annotate",
    "useref",
    "watch"
  ],
  "watchPatterns": [
    "www/**/*",
    "!www/lib/**/*"
  ],
  "browsers": [
    {
      "platform": "android",
      "browser": "crosswalk",
      "version": "12.41.296.5"
    }
  ],
  "id": "0.1"
}

解决了

     {
      "name": "nombre",
      "integrations": {
        "cordova": {}
      },
      "gulpStartupTasks": [
        "sass",
        "templatecache",
        "ng_annotate",
        "useref",
        "watch"
      ],
      "watchPatterns": [
        "www/**/*",
        "!www/lib/**/*"
      ],
      "browsers": [
        {
          "platform": "android",
          "browser": "crosswalk",
          "version": "12.41.296.5"
        }
      ],
      "id": "0.1"
    }

请检查您是否在项目文件夹中,然后再次尝试ng serve命令

我得到了同样的错误,因为我尝试ng服务命令在我的项目之外

例如:: 假设你有一个名为“电子商务”的项目,遍历到文件夹中,并尝试命令ng serve 打开终端 cd电子商务 ng服务

当你试图在另一个文件夹而不是Angular应用程序的根文件夹上运行Angular命令“ng s”或“ng serve”时,就会发生这种情况。

也可以使用以下命令升级Angular:

ng update @angular/cli --migrate-only --from=1.7.4

这样就能解决问题了。

甚至所有的武力都不起作用?

它可能只是当你执行Angular从version升级时,当. Angular -cli。Angular .json(例如Angular 4)已经被一个新的版本使用了Angular .json。在这种情况下,你可能需要删除.angular-cli。Json,并替换为等效的元数据angular.json。在此之后,您将能够从一个命令或一步一步地执行更新。