CoffeeScript 简介与安装步骤概览
一、关于CoffeeScript
CoffeeScript是一门新兴的构建在JavaScript之上的预处理器语言,经过编译可以生成高效的JavaScript,这样我们就可以在Web浏览器上运行它,或通过诸如用于服务器端的Node.js一类的技术来使用它。CoffeeScript的语法主要受ruby和python影响,目前已为众多rails和node项目采用。CoffeeScript的编写过程简介明了,编译过程也通常都很简单便捷,而得到的JavaScript在效率方便可与拥有极佳经验的JavaScript编程老手写出的代码相当。
二、CoffeeScript的简介
要想开始了解CoffeeScript,我们就得先总结一下JavaScript。JavaScript是目前具有很大影响力的编程语言。JavaScript本是一门浏览器语言,但随着Node.js的日益普及,它正越来越频繁地出现在桌面和移动应用中。同时,由于其不一致的语法和古怪的实现方式,雨来越多的开发者也逐渐强烈抵制JavaScript。从语法的角度来看,JavaScript基于硬绑的C/Java语法,却受到SCheme的影响,具有许多函数式编程语言的功能。这样的结果是,一种有着函数式概念的语言却有着一种冗长的语法,表现力度十分匮乏。在JavaScript中我们经常被花样繁多的样板代码——括号、逗号、花括号、分号,以及一些并不是真正需要的关键字困扰的晕头转向。
CoffeeScript构建在JavaScript上层,只使用了JavaScript的“Good Parts(精粹)”, 抛弃了原来JavaScript晦涩、容易出问题的部分(比如:全局变量,声明, with等)。CoffeeScript不仅解除了JavaScript的这些痛楚,还具有如下的明显优势:
- 提供了一种更简单的语法,使用更少,更紧凑,和更清晰的代码减少了诸如括号和逗号一类的样板代码;
- 明确了空格的定义,使用空格作为一种组织代码块的方式;
- 通过规避和改变JavaScript中的不良部分,只留下精华,让代码减少出错率,维护起来更容易;
- 在很多常用模式的实现上采用了JavaScript中的最佳实践;
- CoffeeScript生成的JavaScript代码都可以完全通过JSLint的检测;
- 提供表达函数的简单语法和继承(基于类)。
当然,作为一门新兴的语言,CoffeeScript也有着如下的劣势:
- 在你和JavaScript之间多了编译这一步;
- 作为一个新的语言,现阶段社区也还比较小,想找个懂这门语言的合伙人会花费你的大量你的时间。
也正是由于CoffeeScript的这些特点,现在正是进入CoffeeScript学习的时机,因为现在为学习这门语言付出的时间在会在以后为你节约大量的时间的。
三、CoffeeScript的安装和使用
如前所述,你可以使用CoffeeScript来编写可运行在Node.js之上的服务器和系统应用,这也意味着CoffeeScript和Node.js之间存在一层依赖关系:若要安装CoffeeScript,需要先安装Node.js。从技术的角度分析,这是因为CoffeeScript必须被编译,而它的编译器实际上是使用CoffeeScript编写的,所以需要一个JavaScript运行时来对它进行编译。作为Node.js核心的V8 JavaScript虚拟机完全胜任这一工作。此外,CoffeeScript现在可以作为Node.js的一个包进行分发,我们可以使用NPM(Node Package Manager)来快速、便捷的安装。所以,总结一下,为了安装CoffeeScript,我们需要先在我们的环境上安装Node.js和NPM。下面我们以在Linux环境下为例,给出安装CoffeeScript的安装步骤概览:
1)首先我们先到node.js的网站下载Windows版本下的node.js。下载地址:http://nodejs.org/download/
下载后只要双击msi文件,采取默认选项安装即可,整个过程是自动的。
2)NPM也被加入到Node的Windows版本中,所以就不用额外再安装了。
3)安装完Node(包括NPM)后,我们以管理员的权限打开命令行窗口,并输入如下的命令:npminstall -g coffee-script 来安装Coffeescript。上面的-g或者--global标记让CoffeeScript可为全系统所用而不仅是为某个特定项目所用,一般情况下建议选择这个模式。
安装完成后,可以在命令行窗口输入coffee –h 来查看CoffeeScript的使用帮助,更多的使用帮助和资料请参考如下网址:
http://coffeescript.org/ CoffeeScript官方网站
http://www.w3ctech.com/p/1065 CoffeeScript入门实践
http://ruby-china.org/topics/4789 CoffeeScript详解
最后祝大家学习愉快!