如何在Angular Cli中生成.angular-cli.json文件?

50

我已经使用npm单独安装了Angular CLI包:

npm install --save-dev @angular/cli@latest

当我尝试使用命令cli时,会出现错误:

Unable to find any apps in `.angular-cli.json`.

如何为当前项目生成.angular-cli.json文件?


1
你尝试过运行 ng new your_app 了吗?请确保你已经全局安装了最新版本的 @angular/cli@latest - Touqeer Shafi
1
我已经安装了项目,不需要新的项目。 - OPV
5
当您使用 ng new 创建新项目时,@angular/cli 会自动生成 .angular-cli.json 文件。 - Touqeer Shafi
1
我创建了一个项目,没有使用命令行界面,然后我使用npm安装了cli。 - OPV
2
请查看此帖子:将现有的Angular 2项目转换为使用Angular CLI - Andrei Matracaru
好的,快速解决方法是使用Angular CLI创建一个新的应用程序,并将.angular-cli.json复制到您的项目根目录中! - snippetkid
9个回答

101

在Angular 6中,.angular-cli.json已被替换为angular.json

对于Angular < 6:

创建一个名为'.angular-cli.json'的新文件并将此文件添加到您的主目录中。

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "project": {
    "name": "my-app"
  },
  "apps": [
    {
      "root": "src",
      "outDir": "dist",
      "assets": [
        "assets",
        "favicon.ico"
      ],
      "index": "index.html",
      "main": "main.ts",
      "polyfills": "polyfills.ts",
      "test": "test.ts",
      "tsconfig": "tsconfig.app.json",
      "testTsconfig": "tsconfig.spec.json",
      "prefix": "app",
      "styles": [
        "styles.css"
      ],
      "scripts": [],
      "environmentSource": "environments/environment.ts",
      "environments": {
        "dev": "environments/environment.ts",
        "prod": "environments/environment.prod.ts"
      }
    }
  ],
  "e2e": {
    "protractor": {
      "config": "./protractor.conf.js"
    }
  },
  "lint": [
    {
      "project": "src/tsconfig.app.json",
      "exclude": "**/node_modules/**"
    },
    {
      "project": "src/tsconfig.spec.json",
      "exclude": "**/node_modules/**"
    },
    {
      "project": "e2e/tsconfig.e2e.json",
      "exclude": "**/node_modules/**"
    }
  ],
  "test": {
    "karma": {
      "config": "./karma.conf.js"
    }
  },
  "defaults": {
    "styleExt": "css",
    "component": {}
  }
}

73
在Angular 6中,.angular-cli.json被替换为 angular.json!希望这可以帮助其他人找到他们的配置文件所在的位置! - adam0101
2
@adam0101 文件中的内容/节点是否也被更改了?我找到了angular.json文件,但没有说“apps”的节点?很多其他节点也被更改了! - Yash Saraiya
当您说主目录时,您是指根文件夹吗?例如,{angular_project_folder}.angular-cli.json?就像这样?第二个问题,文件名中的点(.)是否必要? - Marvin Glenn Lacuna
@adam0101,不知道 Angular.json 文件中的应用程序在哪里可以找到? - Pardeep Jain

31

自从Angular 6版本以来,.angular-cli.json已经被废弃。该文件已被支持工作区的angular.json文件所取代。


12
在我的当前项目中,我遇到了同样的错误,因为我在一个终端中运行应用程序/ ng serve,但是当我尝试从另一个终端生成组件时却得到了这个错误消息。.angular-cli.json已经存在并且正确。那么出了什么问题呢?
后来我意识到我使用了打开Visual Studio Code内部终端的快捷方式 - 它将终端打开到*项目*的根目录(像大多数IDE一样)。该项目除了包含有所询问的.angular-cli.json文件的Angular应用程序文件夹外,还包含其他东西。我只需要cd到正确的文件夹并再次运行ng g c,一切就好了。
在我的情况下,这只是一个愚蠢的错误。我想分享这个问题的解决方法,以便能够帮助其他人节省不必要的麻烦。我看到Shiva实际上已经提到了这一点,但我认为我会提供更详细的信息,以防被忽视。

9

您当前位于您正在工作的目录之外。进入您的项目所在的目录并运行命令ng g c name


1
我发现类似的错误,它位于 C:\Users\sony\AppData\Roaming\npm\node_modules\@angular\cli\node_modules\@schematics\angular\workspace\files
它已经安装在 Windows 上,请尝试在 C 盘中搜索 angular.json,您将看到该文件。

你能进一步解释吗?在查看特定文件之后,应该做什么?这样如何解决问题? - Nico Haase

1
angular.json 中,您可以插入所有 CSS 和 JS 文件到您的模板中。另外,您也可以使用 src 文件夹中的 Style.css 来加载样式表。
@import "../src/fonts/font-awesome/css/font-awesome.min.css";
@import "../src/css/bootstrap.min.css";
@import "../src/css/now-ui-kit.css";
@import "../src/css/plugins/owl.carousel.css";
@import "../src/css/plugins/owl.theme.default.min.css";
@import "../src/css/main.css";

0

我也看不到.angular-cli.json文件。因为我的Angular版本是6。 ng version -> Angular CLI: 6.0.7。 请检查您的Angular版本。


1
自Angular 6以来,angular-cli.json已被弃用,取而代之的是angular.json - Alejandro Silva

0
据我所知,无法像Package-lock文件一样通过命令创建Angular-cli文件。如果您想要创建它,必须手动完成。
  1. 您可以输入ng new来创建一个新的Angular项目

  2. 找到它的.angular-cli.json文件

  3. 复制所有内容

  4. 在原始项目中创建一个文件夹,并将其命名为.angular-cli.json

  5. 将从新项目复制的内容粘贴到原始项目的新创建的angular cli文件中。

  6. 在您创建的angular cli文件中找到此行,并将名称字段更改为原始项目的名称。您可以在package.json文件中找到项目名称

project": {
  "name": "<name of the project>"
},

然而,在新版Angular中,它现在使用angular.json而不是angular-cli.json。


-1

如果您复制粘贴您的项目中的 .angular-cli.json 文件,您将找不到此文件,请尝试创建一个具有相同名称的新文件并添加代码,它就可以工作了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接