一、安装git客户端

1.windows环境推荐使用TortoiseGit。

官网地址:http://tortoisegit.org

下载地址:http://tortoisegit.org/download/

安装过程:略

2.采用deb包的系统,如ubuntu

   sudo apt-get install git

3.采用yum的系统,如centos

   sudo yum install git

4.源码编译安装:

   wget https://github.com/git/git/archive/master.zip
unzip master.zip
cd git-xxxx-xx-xx
sudo apt-get install autoconf
autoconf
./configure
make
make install #可能会报权限问题,我是切换到root下编译安装的,省事

git依赖zlib-devel,openssl-devel,perl,cpio,expat-devel,gettext-devel这些包,如果出错基本上也是这些包造成的。

二、获取angular1.x的源代码

现在,angular分类1.x和2.x,1.x是已经经过严格测试了得发布版本,2.x是谷歌内部还在开发中的版本,还没有发布。我们这里以及后面讲的都是1.x版本。

执行下面代码,将github上代码克隆到本地。

   git clone https://github.com/angular/angular.js.git

如果英文比较好,学习angular建议看官网给出的一手资料:

Web site: http://angularjs.org

Tutorial: http://docs.angularjs.org/tutorial

API Docs: http://docs.angularjs.org/api

Developer Guide: http://docs.angularjs.org/guide

Contribution guidelines: CONTRIBUTING.md

Dashboard: http://dashboard.angularjs.org

三、安装构建环境以及编译和测试命令

由于angular的代码构建采用的grunt,而grunt是用nodejs写的,所以要先安装nodejs。

1.安装nodjs

windows环境,直接到官网(http://nodejs.org/)去下载并安装了事,再次略过。

下面讲讲源码安装:

   wget http://nodejs.org/dist/v0.10.17/node-v0.10.17.tar.gz #这里的地址可能不同,请找到最新版本的地址替换
tar xvf node-v0.10.17.tar.gz
cd node-v0.10.17
./configure
make
make install
cp /usr/local/bin/node /usr/sbin/

2.通过npm安装angular构建所以依赖的node包。

   npm install

3.编译和测试

编译:grunt build

单元测试:grunt test:unit

端到端测试:

   grunt package
grunt test:e2e

下一期:angular源码分析:angular中的依赖注入式如何实现的

angular源码分析:angular源代码的获取与编译环境安装的更多相关文章

  1. angular源码分析:angular中脏活累活承担者之$parse

    我们在上一期中讲 $rootscope时,看到$rootscope是依赖$prase,其实不止是$rootscope,翻看angular的源码随便翻翻就可以发现很多地方是依赖于$parse的.而$pa ...

  2. angular源码分析:angular中的依赖注入式如何实现的

    一.准备 angular的源码一份,我这里使用的是v1.4.7.源码的获取,请参考我另一篇博文:angular源码分析:angular源代码的获取与编译环境安装 二.什么是依赖注入 据我所知,依赖注入 ...

  3. angular源码分析:angular中入境检察官$sce

    一.ng-bing-html指令问题 需求:我需要将一个变量$scope.x = '<a href="http://www.cnblogs.com/web2-developer/&qu ...

  4. angular源码分析:angular中$rootscope的实现——scope的一生

    在angular中,$scope是一个关键的服务,可以被注入到controller中,注入其他服务却只能是$rootscope.scope是一个概念,是一个类,而$rootscope和被注入到cont ...

  5. angular源码分析:angular的源代码目录结构说明

    一.读源码,是选择"编译合并后"的呢还是"编译前的"呢? 有朋友说,读angular源码,直接看编译后的,多好,不用管模块间的关系,从上往下读就好了.但是在我看 ...

  6. angular源码分析:angular中脏活累活的承担者之$interpolate

    一.首先抛出两个问题 问题一:在angular中我们绑定数据最基本的方式是用两个大括号将$scope的变量包裹起来,那么如果想将大括号换成其他什么符号,比如换成[{与}],可不可以呢,如果可以在哪里配 ...

  7. angular源码分析:$compile服务——directive他妈

    一.directive的注册 1.我们知道,我们可以通过类似下面的代码定义一个指令(directive). var myModule = angular.module(...); myModule.d ...

  8. angular源码分析:angular的整个加载流程

    在前面,我们讲了angular的目录结构.JQLite以及依赖注入的实现,在这一期中我们将重点分析angular的整个框架的加载流程. 一.从源代码的编译顺序开始 下面是我们在目录结构哪一期理出的an ...

  9. angular源码分析:injector.js文件分析——angular中的依赖注入式如何实现的(续)

    昨天晚上写完angular源码分析:angular中jqLite的实现--你可以丢掉jQuery了,给今天定了一个题angular源码分析:injector.js文件,以及angular的加载流程,但 ...

随机推荐

  1. 基于PHP实现阿里云开放存储服务

    开放存储服务(OpenStorageService,简称OSS),是阿里云对外提供的海量,安全,低成本,高可靠的云存储服务.用户可以通过简单的API(REST方式的接口),在任何时间.任何地点.任何互 ...

  2. Cocos2d-x 3.2 学习笔记(十一)Game 2048

    一.规则 游戏2048的规则很简单 2+2=4  4+4=8 8+8=16 16+16=32 ……1024+1024=2048 这游戏挺火的……不过做起来也不难,就用cocos2dx做一下,首先我也没 ...

  3. 轻松自动化---selenium-webdriver(python) (六)

    本节知识点: 操作对象: · click 点击对象 · send_keys 在对象上模拟按键输入 · clear 清除对象的内容,如果可以的话 WebElement  另一些常用方法: · text  ...

  4. tiltShift.js - CSS3 滤镜实现移轴镜头效果

    tiltShift.js 是一款很棒的 jQuery 插件,使用 CSS3 图片滤镜来实现照片的移轴镜头效果.使用非常简单,使用 data 属性配置参数.温馨提示:为保证最佳的效果,请在 IE10+. ...

  5. Windows Azure Web Site (17) Azure Web Site 固定公网IP地址

    <Windows Azure Platform 系列文章目录> 在之前的文档中,笔者介绍了Azure Web Site是一个多租户的环境,每个部署单元有一个可以通过Internet访问的入 ...

  6. Elasticsearch——使用_cat查看Elasticsearch状态

    Elasticsearch通过使用JSON来作为沟通的数据格式,这对于开发者来说很友好,因为很多程序都支持JSON格式.比如js就不说了,Java也有fastjson,ruby什么的都自带json. ...

  7. LeetCode - 207. Course Schedule

    207. Course Schedule Problem's Link ---------------------------------------------------------------- ...

  8. 数论 - 筛法暴力打表 --- hdu : 12876 Quite Good Numbers

    Quite Good Numbers Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB Total submit ...

  9. JQuery新闻滚动的实现方法(常用笔记1)

    .mouseover() //经过子元素也会触发 .mouseenter() //经过被选元素才会触发 .mouseout() //离开子元素也会触发 .mouseleave() //离开被选元素才会 ...

  10. C#获取执行存储过程的" 返回值"代码

    以下是C#代码: /// <summary> /// 执行存储过程,返回" 返回值" /// </summary> /// <param name=& ...