angular文档——CLI-快速起步

CLI 快速起步

使用 CLI 工具快速构建 Angular 应用。

相比手动的做一切事情,好的工具使应用开发更快、更易于维护。

Angular-CLI 是一个命令行工具,使用它可以创建项目、添加文件,并执行各种开发中的任务,例如——测试、打包、部署。

在本节,我们的目标是使用 Angular-CLI 并遵循风格指南的推荐,构建和运行一个超级简单的 Typescript版的 Angular 应用,这将有益于每一个 Angular 项目。

本章结束后,我们会通过CLI对开发过程有一个最基本的理解,并将其作为其它文档范例以及真实应用的基础。

要完成目标,包含下面几个主要的步骤:

  1. 配置开发环境
  2. 新建项目及应用的骨架
  3. 启动应用服务器
  4. 编辑应用

第一步:配置开发环境

在你做任何事之前,需要配置我们的开发环境。

安装 Node.js 和 npm(假如你的电脑还没有安装)。

通过在命终端/命令行运行node -vnpm -v确保你运行的版本 node 最低4.x.x,npm 最低3.x.x。旧版本会产生错误,但新版本不会。

全局安装 Angular-CLI:

npm i -g @angular/cli

第二步:新建项目

打开终端窗口。

通过运行下面的命令生成新的项目和应用的骨架:

ng new my-app

请耐心等待。它需要时间来配置新项目,大多数时间用来安装 npm 包。

第三步:启动应用服务器

进入项目目录并启动服务器。

cd my-app
ng serve

ng serve命令启动服务器,并监视文件,当文件发生改变后重新构建应用。

打开浏览器,输入http://localhost:4200/,显示欢迎信息:app works!

第四步:编辑我们的第一个 Angular 组件

CLI 为我们创建第一个 Angular 组件。这就是命名为app-root的根组件。你可以在./src/app/app.component.ts中找到它。

打开组件文件修改title属性,从app works!改为My First Angular App

export class AppComponent {
  title = 'My First Angular App';
}

浏览器自动刷新,我们会看到修改后的标题。这很好,但我们可以让它变得更好看一点。

打开src/app/cli-quickstart.component.css,给我们的组件设置些样式。

h1 {
  color: #369;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 250%;
}

接下来做什么?

如你所愿,我们完成了这个“Hello, World”应用。

现在,你可以开始英雄之旅教程,通过构建一个小型应用来学习如何用 Angular 构建各种大型应用了。

或者,你也可以稍等一会儿,学学在这个新项目中的文件都是干什么用的。

项目文件概览

Angular-CLI 项目是快速构建实验和企业解决方案的基础。

我们查看的第一个文件应该是README.md。它有一些如何使用 CLI 命令的基础信息。无论何时你想要知道更多的关于 Angu-CLI 如何工作的信息,一定要访问Angular-CLI仓库Wiki

有些生成的文件可能你并不熟悉,接下来我们就讲讲它们。

src 目录

你的应用存放在src目录下。所有的 Angular 组件、模板、样式、图片以及你的应用需要的任何东西都在这里。这个目录之外的任何文件都是为了支持构建你的应用。

src/
 |__app/
 |   |__app.component.css
 |   |__app.component.html
 |   |__app.component.spec.ts
 |   |__app.component.ts
 |   |__app.module.ts
 |__assets/
 |   |__.gitkeep
 |__environments/
 |   |__environment.prod.ts
 |   |__environment.ts
 |__favicon.ico
 |__index.html
 |__main.ts
 |__polyfills.ts
 |__styles.css
 |__test.ts
 |__tsconfig.json
文件 用途
app/app.component.{ts,html,css,spec.ts} 定义了AppComponent相关的HTML模板、css样式和单元测试。随着应用程序的进化,它将成为嵌套组件树的根组件。
app/app.module.ts 定义AppModule,根模块告诉Angular如何配置应用程序。现在它只声明了AppComponent。之后会有更多的组件声明。
assets/* 一个可以存放图片和任何你需要的东西的目录,在构建应用时,它们全部会复制到发布的包中。
environments/* 这个目录包含为每个目标环境准备的配置文件,它们导出了一些应用中要用到的配置变量。 当你构建应用时,文件会被动态的替换。你可能在开发时使用与生产时不同的后端API。或使用不同的统计Token参数。甚至使用一些模拟服务。所有这些,CLI都替你考虑到了。
favicon.ico 每个网站都想在书签栏看起来好看。请把它换成你自己的图标。
index.html 这是别人访问你的网站是看到的主页面的HTML文件。大多数时候你永远也不需要编辑它。当构建应用时,CLI会自动地添加所有的 jscss文件,所以你从来都不需要在这里手动的添加任何的<script><link>标签
main.ts 应用的主入口。使用JIT编译器编译应用并启动应用在浏览器中运行。你也可以通过给ng buildng serve传入--aot参数,而不需要改变任何代码来使用AoT编译器。
polyfills.ts 不同的浏览器对web标准的支持程度也不同。Polyfills能帮我们把这些不同点进行标准化。你可以非常安全的使用core-jszone.js,但是一定要查看浏览器支持以了解更多的信息。
style.css 你的全局样式在这里。大多数时候你会希望在你的组件中使用局部样式以易于维护,但影响整个应用的样式需要集中放在这里。
test.ts 这是单元测试的主入口。它有一些你可能不熟悉的自定义的配置,但你不需要去编辑。
tsconfig.json Typescript编译器的配置文件

根目录

src/目录仅仅是项目根目录之一。其它文件用来帮助你构建、测试、维护、文档和部署应用。
它们在根目录下和src/目录平级。

my-app
  |__e2e/
  |   |__app.e2e-spec.ts
  |   |__app.po.ts
  |   |__tsconfig.json
  |__node_modules/...
  |__src/...
  |__.editorconfig
  |__.gitignore
  |__angular-cli.json
  |__karma.conf.js
  |__package.json
  |__protractor.conf.js
  |__README.md
  |__tslint.json
文件 用途
e2e/* e2e/中存放着端到端测试。它们不在src/里,是因为端到端测试实际上和应用是相互独立的,它只适用于测试你的应用而已。这也是为什么它会拥有自己的tsconfig.json
node_modules/... Node.js创建这个目录并把package.json中所列出的第三方模块放到里面。
.editorconfig 给你的编辑器看的一个简单配置文件,它用来确保参与你项目的每个人都具有基本的编辑器配置。大多数编辑器都支持.editorconfig文件,查看 http://editorconfig.org 获取更多信息。
.gitignore git的配置文件,用来确保自动生成的文件不被提交到源码控制系统中。
angular-cli.json Angular-CLI的配置。在这个文件中你可以设置一系列默认值,还可以配置当项目构建时所包含的文件。如果你想了解更多,查看官方文档。
karma.conf.js Karma运行时的单元测试配置,当运行ng test时使用。
package.json 你的项目使用的第三方包的npm配置清单。你也可以在这里添加你自己的自定义脚本。
protractor.conf.js Protractor使用的端到端测试配置文件,当运行ng e2e的时候会用到它。
`README.md 你项目的基本文档,预先写入了 CLI 的命令信息。别忘了用项目文档改进它,以便每个查看此仓库的人都能据此构建出你的应用。
tslint.json TSlint连同Codelyzer的配置,当运行ng lint时使用。 Lint功能可以帮你保持代码风格的统一。

下一步

如果你是Angular新手,我们推荐继续学习路径

你可以跳过“环境配置”这一章,因为你已经在使用 Angular-CLI 配置好了环境。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,911评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,014评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,129评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,283评论 1 264
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,159评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,161评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,565评论 3 382
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,251评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,531评论 1 292
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,619评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,383评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,255评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,624评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,916评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,199评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,553评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,756评论 2 335

推荐阅读更多精彩内容