教程

PhoneCat 教程App

通过这篇教程去介绍Angular是一个极好的方式,他带你漫步在AngularJS网络应用的建筑中,这个APP会建造一个Android设备显示目录,让你选取你感兴趣的设备,并且能够察看每个设备的详细情况。 在这篇教程中,你会看到,在没有任何本地扩展或插件的使用下,Angular如何让浏览器更聪明:

  • 看怎么使用客户端数据绑定去构建动态视图的例子,那样数据修改将立刻响应给用户。

  • 看Angular怎样在不需要任何Dom操作之下保持你的视图同步。

  • 通过Karma和Protractor,学习用更好、更容易的方式去测试你的网络App。

  • 学习怎样使用依赖注入与服务层,去更容易构造公共的网络任务,如在你的App中读取数据。

当你完成了这篇教程,你能学到:

  • 创建工作在现代浏览器下的动态应用。

  • 使用数据绑定联系你的数据模型与你的视图。

  • 通过Karma,创建并运行单元测试。

  • 通过Protractor,创建并运行端对端测试。

  • 从模板中迁移应用的逻辑到控制器中。

  • 使用ngAnimate,实现你的动画。

  • 学习更多认定的AngularJS资料。

这篇教程指导你通过创建简单应用的全部过程,包括编写和运行单元与端对端测试,每个步骤后的实验,提供了建议去学习更多关于AngularJS与你在构建的应用。 你可以在一对时内学完全部教程,或者在你可能想花费一个愉快的日子去实际深入挖掘他,如果你想看更短关于AngularJS的介绍,那就查看 Getting Started 文档吧。

开始

这个页面的目的是介绍你如何在本地机器上安装你的开发环境,如果你只想读教程,你可以直接去第一步: 步0 - 启动。

与代码一同工作

你可以独自学习这篇教程,并在你自己的电脑上舒适地敲击着代码,用这种方式你可以得到写Angular代码的实际动手经验,同样也学用到推荐的测试工具。 这篇教程依赖源码管理的版本系统 Git,你没有必要了解安装与运行git命令之外的任何Git相关。

安装Git

你能从 http://git-scm.com/download下载并安装Git,安装之后进入git命令行工具,你需要用的主要命令有:

  • git clone…… 克隆远程资源库到你本地机器

  • git checkout…… 检查出可用分支或者或被标记的版本

下载 angular-phonecat

使用下面的命令克隆GitHub中的 angular-phonecat资源库 这个命令在你的当前目录下创建了angular-phoncat目录 --depth = 14 选项是告诉git只迁出最新的14次提交,这样能让下载更小,更快。 修改你的当前目录为angular-phoncat

cd angular-phonecat

教程的说明从现在开始,假设你是在angular-phonecat下运行所有的命令。

安装 node.js

如果你想运行预配置的当地Web服务器和测试工具,你需要Node.js v0.10.27+ 你能从 http://nodejs.org/download/.上下载适用于你的操作系统的Node.js安装程序。 你可能运行下面的命令来检查你已经安装的Node.js的版本。

apt-get install nodejs-legacy npm
nodejs --version
npm --version

在Debian分布式系统中,有另一个叫node功能的名称冲突,建议的解决方法是安装nodejs-legacy apt包,然后重命名node为node.js。

node --version

如果你想在你的本地环境中运行不同版本的node.js,考虑安装node版本管理器。 你在你机器上安装Node.js之后,你可以下载用下面的命令下载工具依赖。

npm install

这个命令会下载下面的工具,在node-modules目录中:

  • Bower - 客户端代码包管理器。

  • Http-Server - 简单的当地静态web服务器

  • Karma - 单元测试器

  • Protractor - 端对端测试器

运行 npm install 同样会自动地用bower下载Angular框架到app/bower_components目录。 注意angular-phonecat项目是通过npm脚本去安装运行这些功能。这样意味着你在这篇教程中,你没有必要全局安装这些功能,看下面的安装帮助工具得到更多的信息。 项目会预配置一系列npm帮助脚本使得更容易地运行共同的任务,你开发的时候可能需要:

  • npm start: 启动本地开发web服务器。

  • npm test: 启动Karma单元测试。

  • npm run pretractor: 运行protractor端对端测试。

  • npm run update-webdriver: 安装Protractor需要的驱动。

安装帮助工具(可选)

Bowter,Http-Server,Karma 和Protractor模块是可执行的,他们都能在全局安装,然后在终端/命令行窗口上直接运行,这边教程中不需要这样做,但是如果你想直接运行他们,你可以安装这些模块全局使用。 sudo npm install -g ... 举个例子,你可以这样来安装一个Bower的执行命令行工具。

sudo npm install -g bower

然后你可以直接运行bower工具,像:

bower install

运行开发Web服务器

angular程序是一个纯粹的客户端代码,你可能直接通过浏览器打开他们,但是最好是用Http服务器去访问他们。部分原因是隐私原因,如果页面是从本地文件系统中加载,大多数现代浏览器是不允许JavaScript发起服务器请求。 angular-phonecat项目配置了一个小静态服务器,在开发过程中接受程序的访问,启动web服务器:

npm start

这会在你本地创建一个web服务器监听8000端口。你可以访问你的应用:

http://localhost:8000/app/index.html

让web应用在服务与不同的ip地址与端口,编辑package.json 中的“start”脚本,你可以用 -a 设置地址 -p 设置端口。

运行单元测试

我们使用单元测试来确保我们应用中的JavaScript代码动作正确,单元测试聚焦在测试应用中孤立的小部分。单位测试都在test/unit目录中。 angular-phonecat已经配好了使用 Karma运行应用,开始Karma通过:

npm test

这将启动Karma单元测试器,Karma将读取test/karma.conf.js文件中的配置信息,配置文件告诉Karma:

  • 打开一个Chrome浏览器,连接他与Karma

  • 有这个浏览器中执行所有单元测试

  • 在终端与命令中报告所有测试的结果

  • 观察项目中的所有javascript文件,如果有任何改变就重新运行测试。

  • 在全部时间里离开运行测试时很好的。在后台,当你在敲代码的时候,他会给你直接的反馈,是否通过单元测试。

运行端对端测试

我们运行端对端测试去确保应用在整个操作符合预期,端对端测试被设计去测试整个客户端应用,特别是视图是否显示,行为是否正确,他在真实的浏览器,真实的应用中,模拟真实用户的交互。 端对端测试位于 test/e2e目录中。 angular-phonecat项目配置了 Protractor去运行项目的端对端测试,Protractor依赖与一系列驱动来与浏览器交互,你可以这样来安装这些驱动:

npm run update-webdriver

(你只需要运行一次) 当Protractor工作在一个运行的应用中,我们需要启动web服务器

npm start

如果在特殊的终端/命令行中,我们针对应用可以运行Protractor测试脚本:

npm run protractor

Protractor会读取test/protractor-conf.js文件,配置文件会告诉Protractor:

  • 打开一个Chrome浏览器并连接到应用

  • 在浏览器中,执行所有的端对端测试

  • 终端或者在窗口中的命令行中汇报这些测试的结果

  • 关闭浏览器并退出

无论你修改了HTML试图,还是想检查应用整体运行正确运行端对端测试是很好的。在提交修改到远程资源库之前运行端对端测试是很常见的。 原文地址: https://docs.angularjs.org/tutorial

你可能感兴趣的:(AngularJS)