本节书摘来自华章出版社《AngularJS深度剖析与最佳实践》一书中的第1章,第1.1节,作者 雪狼 破狼 彭洪伟,更多章节内容可以访问云栖社区“华章计算机”公众号查看

1.1 环境准备

进行开发的第一步是准备开发工具。对于用惯了IDE的程序员来说,可能需要适应一下IDE配合命令行的模式,不过最终你会爱上命令行模式的快速和简洁。
我们将要使用的环境如下。

  1. Node
    Node全称是Node.js,它是一个让JavaScript访问各种本地API和网络API的运行环境,在本书中,将大量使用基于Node的模块和工具。

Node的安装非常简单,如果你使用Linux/Mac操作系统,建议从https://github.com/creationix/nvm下载;如果你使用Windows操作系统,建议从Nodejs官网下载:http://nodejs.org/。
受互联网等因素的影响,Linux/Mac版的安装可能会遇到问题,如果使用过程中遇到问题,也可以从Nodejs官网下载,但是要用这种安装方式将迫使你使用root 权限,后面可能经常需要输入登录密码,从此以后,你需要root权限才能安装某些第三方Node包,相应的,npm ...命令也要改为sudo npm ...命令。

  1. cnpm
    npm是Node自带的包管理器,它的中心服务器架设在国外,受到互联网等因素的影响,有时下载速度会非常慢,甚至部分包完全无法下载。我们可以使用阿里在国内架设的CDN来解决此问题。阿里的CDN提供了一个独立的包管理命令:cnpm install ...,不过在使用它之前需要先安装:npm install -g cnpm --registry=https://registry.npm.taobao.org。今后所有需要出现npm命令的地方,都可以替换为cnpm命令。假设你已经安装过cnpm命令,所以本书后面出现的npm命令也会替换为cnpm命令。
  2. Java
    Angular的前端开发并不需要使用Java,但是WebStorm等IDE是基于Java开发的,本书范例中的后端服务器也是基于Java开发的。如果需要,可以到http://www.oracle.com/technetwork/java/javase/downloads/下载并安装Java。
  3. IntelliJ
    本书中将使用IntelliJ作为演示用IDE。这是JetBrains公司出品的软件,既能写前端,也能写后端,默认支持Java语言和前端技术栈,也可以通过插件支持更多种语言。它还有一个专门面向前端开发的精简版本,叫作WebStorm。它的安装方式都有官方说明,在此不再详述。

JetBrains的软件是收费的,不过它带来的便利确实值得你投资。此外,Eclipse和Visual Studio也都是不错的选择。

  1. IntelliJ的AngularJS插件
    IntelliJ的AngularJS插件是个非常实用的插件。它可以帮你检查模板中使用的官方指令和自定义指令的语法,并且支持按组合键Ctrl+B(Windows系统)/Cmd-B(Mact系统)进行跳转。
  2. Git
    本书的源码将全部通过Git发布在GitHub上,所以,你有必要安装一个Git工具。而且,Git 的作用远不止于管理本书的源码,在做其他开发的过程中也很有用,甚至本书的写作稿也是通过Git来协调多位作者和编辑之间的合作的。

对于Linux系统,主流的版本都可以使用其内置的包管理器来安装,比如Ubuntu下的sudo apt-get install git;对于Mac系统,Xcode内置了Git,也可以通过brew工具安装最新版,如:brew install git;而Windows下比较特殊,由于Git没有原生的Windows编译版本,所以需要下载一个第三方版本https://msysgit.github.io/。

  1. cygwin
    Windows不是前端开发的理想环境,如果有条件,最好使用Linux或Mac。如果确实要在Windows下操作,那么请先安装cygwin。cygwin 是个在Windows下面的Linux命令模拟器。本书中列出的绝大多数命令都需要在cygwin下执行。当然,如果你熟悉Linux命令和Windows命令的对应关系,也可以在Windows的CMD窗口中开发。

不过,最好的方式是用VirtualBox装一个Linux虚拟机,在虚拟机中进行这些尝试。
8.开发指南与API
由于受互联网等因素的影响,部分用户可能无法正常访问官方网站(angularjs.org),也就无法正常查阅开发指南和API,这将成为学习Angular的障碍。为了解决此问题,我们在国内架设了一个网站:www.ngnice.com,这里有我们组织翻译的开发指南(guide)以及API的英文版。

《AngularJS深度剖析与最佳实践》一1.1 环境准备相关推荐

  1. 《AngularJS深度剖析与最佳实践》一第1章 从实战开始

    本节书摘来自华章出版社<AngularJS深度剖析与最佳实践>一书中的第1章,作者 雪狼 破狼 彭洪伟,更多章节内容可以访问云栖社区"华章计算机"公众号查看 第1章 从 ...

  2. 《AngularJS深度剖析与最佳实践》一2.2 模块

    本节书摘来自华章出版社<AngularJS深度剖析与最佳实践>一书中的第2章,第2.2节,作者 雪狼 破狼 彭洪伟,更多章节内容可以访问云栖社区"华章计算机"公众号查看 ...

  3. 《AngularJS深度剖析与最佳实践》一2.11 消息

    本节书摘来自华章出版社<AngularJS深度剖析与最佳实践>一书中的第2章,第2.11节,作者 雪狼 破狼 彭洪伟,更多章节内容可以访问云栖社区"华章计算机"公众号查 ...

  4. 《AngularJS深度剖析与最佳实践》一2.10 承诺

    本节书摘来自华章出版社<AngularJS深度剖析与最佳实践>一书中的第2章,第2.10节,作者 雪狼 破狼 彭洪伟,更多章节内容可以访问云栖社区"华章计算机"公众号查 ...

  5. 《AngularJS深度剖析与最佳实践》一2.9 服务

    本节书摘来自华章出版社<AngularJS深度剖析与最佳实践>一书中的第2章,第2.9节,作者 雪狼 破狼 彭洪伟,更多章节内容可以访问云栖社区"华章计算机"公众号查看 ...

  6. 《AngularJS深度剖析与最佳实践》一2.6 指令

    本节书摘来自华章出版社<AngularJS深度剖析与最佳实践>一书中的第2章,第2.6节,作者 雪狼 破狼 彭洪伟,更多章节内容可以访问云栖社区"华章计算机"公众号查看 ...

  7. 《AngularJS深度剖析与最佳实践》一1.3 创建项目

    本节书摘来自华章出版社<AngularJS深度剖析与最佳实践>一书中的第1章,第1.3节,作者 雪狼 破狼 彭洪伟,更多章节内容可以访问云栖社区"华章计算机"公众号查看 ...

  8. 《AngularJS深度剖析与最佳实践》一1.6 实现AOP功能

    本节书摘来自华章出版社<AngularJS深度剖析与最佳实践>一书中的第1章,第1.6节,作者 雪狼 破狼 彭洪伟,更多章节内容可以访问云栖社区"华章计算机"公众号查看 ...

  9. 《AngularJS深度剖析与最佳实践》一1.4 实现第一个页面:注册

    本节书摘来自华章出版社<AngularJS深度剖析与最佳实践>一书中的第1章,第1.4节,作者 雪狼 破狼 彭洪伟,更多章节内容可以访问云栖社区"华章计算机"公众号查看 ...

  10. 《AngularJS深度剖析与最佳实践》一1.5 实现更多功能:主题

    本节书摘来自华章出版社<AngularJS深度剖析与最佳实践>一书中的第1章,第1.5节,作者 雪狼 破狼 彭洪伟,更多章节内容可以访问云栖社区"华章计算机"公众号查看 ...

最新文章

  1. SDUT OJ[3109] 买买买 背包 dp
  2. 新买的电脑怎么装系统_如何装一台性价比的电脑主机——老程带你了解怎么装电脑...
  3. kubernetes学习笔记之七:Ingress-nginx部署使用
  4. Tecplot 360 按教程安装完毕后,弹出“Is your Tecplot 360 EX liense valid?”【终极解决办法】
  5. jsp tag 自定义标签实现按钮的显示
  6. MongoDB服务无法启动,原因居然是...
  7. 经常用到的一些小病的预防的治疗
  8. 课堂随笔01--进制转换
  9. js上传图片时添加水印
  10. C语言房地产销售管理系统,房地产销售管理系统的设计与实现
  11. 计算机二级word奇偶页眉页脚,Word中设置奇偶页不同的页眉和页码的操作方法
  12. js前端生成excel文件(表格)并下载
  13. arcgis构造工具没了_在arcgis中如何调出数据显示工具栏
  14. js如何获取当天日期的前几天
  15. 微信文件过大不能上传?学会这几种方法,再大文件也能轻松发
  16. R语言中的I(x^2)
  17. SQL语句查询表的最后一条数据
  18. 汉字转全拼,简拼组件
  19. 由一个日期, 怎样知道是星期几?
  20. mysql lag和lead_Oracle的LAG和LEAD分析函数

热门文章

  1. 振荡中医学习感悟——姥姥的咳嗽
  2. HTML 入门基础教程
  3. Android:规范命名,让合作更加愉快
  4. 智能AI短视频搬运剪辑小程序,可过原创检测
  5. python语言+selenium自动化,编写脚本调用Chrome、Firefox浏览器打开百度网站
  6. Python爬虫,爬取快看漫画每日更新模块
  7. 什么是AI预训练模型?
  8. iOS6的控制屏幕旋转技巧
  9. nginx 部署前端项目,不缓存html文件,项目发版后,不用手动刷新页面
  10. word 编辑过程中变为只读_word文档保存后,如何恢复之前的资料?