在开始工做以前,咱们必须设置好开发环境。
若是你的机器上尚未Node.js®和npm,请先安装它们。
去Node.js的官网,https://nodejs.org/en/,点击下载按钮,下载最新版本,直接下一步下一步安装便可,软件会自动写入环境变量中,这样就能直接在cmd命令窗口中直接使用node或npm(包管理工具)命令。css
请先在终端/控制台窗口中运行命令 node -v 和 npm -v, 来验证一下你正在运行 node 6.9.x 和 npm 3.x.x 以上的版本。 更老的版本可能会出现错误,更新的版本则没问题。
npm的全称是一个NodeJS包管理和分发工具,已经成为非官方的发布Node模块(包)的标准。
因为npm安装插件是从国外服务器下载,受网络影响很大,可能出现异常,继而淘宝团队生产一个完整的npmjs.org镜像,用cnpm代替npm,cnpm与nodejs的npm用法一致,只是在执行命令时,将npm改成cnpm。
在cmd命令窗口中输入,而后回车html
npm install cnpm -g --registry=https://registry.npm.taobao.org
安装完毕时候输入cnpm -v, 出现版本号即表示安装成功。
若是你的网速够快的话,安装cnpm的的操做为非必需操做。笔者曾经使用cnpm下载一个ng5项目的依赖文件,在开发的时候没有影响,但在使用ng build --prod时出错,至今也不知道是什么问题。因此下面的操做都以npm为准。node
在cmd输入下面的命令全局安装 Angular CLI 。git
npm install -g @angular/cli
以后输入ng -v,出现版本号即安装成功,Angular CLI的版本号在1.5以上,则新建出来的项目是Angular 5.0版本。
ng即为angular的简称。web
集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,通常包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。全部具有这一特性的软件或者软件套(组)均可以叫集成开发环境。
Angular IDE by Webclipse
intellij idea
Visual Studio Code
webstorm
请选择一种本身喜欢和熟悉的IDE,这会提高你的工做效率。笔者的IDE是 webstorm。npm
打开终端窗口。json
运行下列命令来生成一个新项目以及应用的骨架代码:浏览器
ng new my-app
my-app是项目的名称,能够随意定义。服务器
请耐心等待。 建立新项目须要花费不少时间,大多数时候都是在安装那些npm包,大概是200多M左右。
进入项目目录,并启动服务器。网络
cd my-app ng serve --open
ng serve命令会启动开发服务器,监听文件变化,并在修改这些文件时从新构建此应用。
使用--open(或-o)参数能够自动打开浏览器并访问http://localhost:4200/。
本应用会用一条消息来跟你打招呼:
这个CLI为咱们建立了第一个Angular组件。 它就是名叫app-root的根组件。 你能够在./src/app/app.component.ts目录下找到它。
打开这个组件文件,而且把title属性从 Welcome to app!! 改成 Welcome to My First Angular App!! :
src/app/app.component.ts:
export class AppComponent { title = 'My First Angular App'; }
浏览器会自动刷新,而咱们会看到修改以后的标题。不错,不过它还能够更好看一点。
打开 src/app/app.component.css 并给这个组件设置一些样式。
src/app/app.component.css:
h1 { color: #369; font-family: Arial, Helvetica, sans-serif; font-size: 250%; }
编辑咱们的第一个Angular组件成功!
Angular CLI项目是作快速试验和开发企业解决方案的基础。
你首先要看的文件是README.md。 它提供了一些如何使用CLI命令的基础信息。
你的应用代码位于src文件夹中。 全部的Angular组件、模板、样式、图片以及你的应用所需的任何东西都在那里。 这个文件夹以外的文件都是为构建应用提供支持用的。
app/app.component.{ts,html,css,spec.ts}
使用HTML模板、CSS样式和单元测试定义AppComponent组件。 它是根组件,随着应用的成长它会成为一棵组件树的根节点。
app/app.module.ts
定义AppModule,这个根模块会告诉Angular如何组装该应用。 目前,它只声明了AppComponent。 稍后它还会声明更多组件。
assets/*
这个文件夹下你能够放图片等任何东西,在构建应用时,它们全都会拷贝到发布包中。
environments/*
这个文件夹中包括为各个目标环境准备的文件,它们导出了一些应用中要用到的配置变量。 这些文件会在构建应用时被替换。 好比你可能在产品环境中使用不一样的API端点地址,或使用不一样的统计Token参数。 甚至使用一些模拟服务。 全部这些,CLI都替你考虑到了。
favicon.ico
每一个网站都但愿本身在书签栏中能好看一点。 请把它换成你本身的图标。
index.html
这是别人访问你的网站是看到的主页面的HTML文件。 大多数状况下你都不用编辑它。 在构建应用时,CLI会自动把全部js和css文件添加进去,因此你没必要在这里手动添加任何 <script> 或 <link> 标签。
main.ts
这是应用的主要入口点。 使用JIT compiler编译器编译本应用,并启动应用的根模块AppModule,使其运行在浏览器中。 你还可使用AOT compiler编译器,而不用修改任何代码 —— 只要给ng build 或 ng serve 传入 --aot 参数就能够了。
polyfills.ts
不一样的浏览器对Web标准的支持程度也不一样。 填充库(polyfill)能帮咱们把这些不一样点进行标准化。 你只要使用core-js 和 zone.js一般就够了,不过你也能够查看浏览器支持指南以了解更多信息。
styles.css
这里是你的全局样式。 大多数状况下,你会但愿在组件中使用局部样式,以利于维护,不过那些会影响你整个应用的样式你仍是须要集中存放在这里。
test.ts
这是单元测试的主要入口点。 它有一些你不熟悉的自定义配置,不过你并不须要编辑这里的任何东西。
tsconfig.{app|spec}.json
TypeScript编译器的配置文件。tsconfig.app.json是为Angular应用准备的,而tsconfig.spec.json是为单元测试准备的。
src/文件夹是项目的根文件夹之一。 其它文件是用来帮助你构建、测试、维护、文档化和发布应用的。它们放在根目录下,和src/平级。
e2e/
在e2e/下是端到端(end-to-end)测试。 它们不在src/下,是由于端到端测试实际上和应用是相互独立的,它只适用于测试你的应用而已。 这也就是为何它会拥有本身的tsconfig.json。
node_modules/
Node.js建立了这个文件夹,而且把package.json中列举的全部第三方模块都放在其中。
.angular-cli.json
Angular CLI的配置文件。 在这个文件中,咱们能够设置一系列默认值,还能够配置项目编译时要包含的那些文件。 要了解更多,请参阅它的官方文档。
.editorconfig
给你的编辑器看的一个简单配置文件,它用来确保参与你项目的每一个人都具备基本的编辑器配置。 大多数的编辑器都支持.editorconfig文件,详情参见 http://editorconfig.org 。
.gitignore
一个Git的配置文件,用来确保某些自动生成的文件不会被提交到源码控制系统中。
karma.conf.js
给Karma的单元测试配置,当运行ng test时会用到它。
package.json
npm配置文件,其中列出了项目使用到的第三方依赖包。 你还能够在这里添加本身的自定义脚本。
protractor.conf.js
给Protractor使用的端到端测试配置文件,当运行ng e2e的时候会用到它。
README.md
项目的基础文档,预先写入了CLI命令的信息。 别忘了用项目文档改进它,以便每一个查看此仓库的人都能据此构建出你的应用。
tsconfig.json
TypeScript编译器的配置,你的IDE会借助它来给你提供更好的帮助。
tslint.json给TSLint和Codelyzer用的配置信息,当运行ng lint时会用到。 Lint功能能够帮你保持代码风格的统一。