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

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


当前回答

我使用的是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"
    }

其他回答

切换到你的app文件夹,再次运行generate命令:

最后,下面的命令为我解决了这个问题!

ng update --all --force

在包管理器控制台中运行该命令

PM> cd NameofApp 

然后您可以尝试在那里运行命令。例如

PM > ng generate component Home

当您正在运行的项目不是angular项目时,会发生此错误。 虽然你已经下载了一个angular项目,但还没有安装所有的依赖项,这就是为什么ng serve命令对你不可用的原因。

只需导航到存储项目的路径并使用该命令

npm install

(注意- Node.js应该安装在你的系统中,如果你使用的是Angular 2或更高版本,在你运行这个命令之前,Angular cli也应该安装在你的系统中。 检查系统中是否安装了node.js 1)打开cmd(任何path- as node都应该在你的系统中全局安装) 2)使用命令

node -v
npm -v

获取节点和NPM版本)

还有一件重要的事情: 如果系统中安装的版本高于项目所需的版本,那么angular cli的版本不会有什么不同。 它会给出一个警告,但你可以忽略这个警告。

在我的例子中,我忘记改变我的目录,所以在运行命令后:

新的角度项目

执行另一条命令:

cd AngularProject

我发球成功了。