跳转至

Cli

Angular CLI

基于ember-cli项目的Angular应用程序的CLI

Build Status CircleCI branch Dependency Status devDependency Status

npm npm npm npm

Join the chat at https://gitter.im/angular/angular-cli Caretaker

GitHub forks GitHub stars

注意

如果您正在从测试版或RC版进行更新,请查看我们的1.0更新指南.

如果您希望合作,请查看我们的问题列表.

在提交新问题之前,请查看使用type:faq标签标记的问题.

先决条件

CLI和生成的项目都有相关性,需要Node 6.9.0或更高版本以及NPM 3或更高版本。

目录

安装

在您安装之前: 请阅读先决条件

npm install -g @angular/cli

用法

ng help

通过开发服务器生成并提供Angular项目

1
2
3
ng new PROJECT-NAME
cd PROJECT-NAME
ng serve

导航http://localhost:4200/. 如果您更改任何源文件,该应用程序将自动重新加载。

您可以使用两个命令行选项来配置开发服务器使用的默认HTTP主机和端口:

ng serve --host 0.0.0.0 --port 4201

生成组件,指令,管道和服务

你可以使用ng generate(或者ng g)命令来生成Angular组件:

ng generate component my-new-component
ng g component my-new-component # 使用别名

# 如果在目录src/app/feature /中运行,组件支持相对路径生成
ng g component new-cmp
# 你的组件将在src/app/feature/new-cmp中生成,但是如果你要运行的话
ng g component ./newer-cmp
# 你的组件将在src/app/newer-cmp中生成,如果你还可以在src/app目录下运行的话
ng g component feature/new-cmp
# 并且您的组件将在src/app/feature/new-cmp中生成

您可以在下表中找到所有可能的蓝图:

脚手架 用法
Component ng g component my-new-component
Directive ng g directive my-new-directive
Pipe ng g pipe my-new-pipe
Service ng g service my-new-service
Class ng g class my-new-class
Guard ng g guard my-new-guard
Interface ng g interface my-new-interface
Enum ng g enum my-new-enum
Module ng g module my-module

angular-cli会自动在app.module.ts中添加对componentsdirectivespipes的引用。 如果您需要将此引用添加到另一个自定义模块,请按照下列步骤操作:

  1. ng g module new-module创建一个新的模块
  2. 调用 ng g component new-module/new-component

这应该将新的componentdirectivepipe引用添加到您创建的new-module

更新Angular CLI

如果您使用Angular CLI1.0.0-beta.28或更低版本,则需要卸载angular-cli软件包。 应该这样做,因为将包的名称和范围从angular-cli改为@ angular/cli

npm uninstall -g angular-cli
npm uninstall --save-dev angular-cli

要将Angular CLI更新为新版本,您必须更新全局包和您的项目的本地包。

全局包:

1
2
3
4
npm uninstall -g @angular/cli
npm cache verify
# if npm version is < 5 then use `npm cache clean`
npm install -g @angular/cli@latest

本地项目包:

1
2
3
rm -rf node_modules dist # use rmdir /S/Q node_modules dist in Windows Command Prompt; use rm -r -fo node_modules,dist in Windows PowerShell
npm install --save-dev @angular/cli@latest
npm install

如果您从测试版或RC版升级到1.0,请查看我们的1.0更新指南.

您可以在GitHub上的“版本”选项卡中找到有关版本之间更改的更多详细信息.

开发Angular CLI的开发提示

与主人一起工作

1
2
3
git clone https://github.com/angular/angular-cli.git
cd angular-cli
npm link

npm linknpm install -g非常相似,不同之处在于不是从repo下载软件包,而是将刚刚克隆的angular-cli /文件夹变成全局软件包。 另外,这个存储库发布了几个包,我们使用特殊的逻辑在开发设置中加载它们。

angular-cli /文件夹中的文件所做的任何更改都会立即影响全局的@ angular/cli软件包,允许您快速测试您对cli项目所做的任何更改。

现在你可以通过命令行使用@ angular/cli

1
2
3
4
ng new foo
cd foo
npm link @angular/cli
ng serve

npm link @ angular/cli是必需的,因为默认情况下,全局安装的@ angular/cli只是从npm远程获取的项目加载本地@角度/ clinpm link @ angular/cli将全局@ angular/cli软件包符号链接到本地​​@ angular/cli软件包。 现在你以前克隆过的angular-cli有三个地方: 您将其克隆到的文件夹,npm的存储全局程序包的文件夹以及刚刚创建的Angular CLI项目。

您还可以使用ng foo --link-cli来自动链接@ angular/cli软件包。

请阅读官方的npm-link文档npm-link作弊表以获取更多信息。

要运行Angular CLI测试套件,请使用node tests/run_e2e.js命令。 它也可以接收一个文件名,只运行该测试(例如node tests/run_e2e.js tests/e2e/tests/build/dev-build.ts)。

作为测试程序的一部分,所有软件包将被构建并链接。 测试完成后,您需要重新运行npm link重新连接开发的Angular CLI环境。

文档

Angular CLI的文档位于此repo的wiki中.

执照

MIT