日期:2014-05-16  浏览次数:20349 次

Ubuntu下安装CoffeeScript -- 优雅的JavaScript++

前段时间迷上了CoffeeScript。这是一个基于JavaScript的语言,在JavaScript之上融入了其他语言的一些长处,使语法变得更简单灵活,某种程度上弥补了JavaScript的一些缺陷。而且它提供一个编译器,用来把CoffeeScript编译成JavaScript。废话不多说,看看 官网的例子 你就什么都明白了。

?

用了一段时间,感觉确实比javascript要方便很多。不说javascript中每次敲函数时总要写长长的function关键字,而且估计不少人遇到过写json时掉了一个逗号导致的一系列莫名其妙的错误。尤其在ExtJS中简直司空见惯,更尤其是我这种用vim写ExtJS的……个人觉得,虽然框架可以使很多事情变得简单(比如jQuery优雅的API),但无法弥补语法层面的一些缺陷。CoffeeScript算是比较好的弥补了这方面的问题。

?

?

所以,这篇文章就是讲怎么安装CoffeeScript的。本人操作系统为Ubuntu 10.10。

CoffeeScript依赖于Node.js和NPM。Node.js是一个服务端的javascript平台,而NPM是基于它的包管理器。两者类似于Ruby和RubyGems的关系(这里说的Ruby是指解析器)。我们的目标就是先装Node.js,再装NPM,最后用NPM安装coffee script。

附带一提,Ubuntu的apt-get中有coffee script,不过那个版本太老了。而且个人觉得这种东西还是由专门的包管理器管理比较好。关于Node.js。你也可以下载源码编译安装,过程也很顺利。我只是不想再去手动make install和添加path路径而已。

?

1. 安装Node.js

Node.js提供了Ubuntu下的apt源。所以这一步很省事。

?

?

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:jerome-etienne/neoip
sudo apt-get update
sudo apt-get install nodejs

?

安装完成后,控制台会多出一个 node 命令。可以用 node -v 看看版本。我是0.4.4。和最新版是一样的。

?

2. 安装NPM

这步更简单。别人已经提供好了安装脚本供你使用了

?

?

sudo curl http://npmjs.org/install.sh | sh

?

这个脚本会自动下载并安装NPM。安装完成后就可以在控制台使用 npm 命令安装其他的包了。

再次赞叹下 curl 和 sh 的完美配合。

?

3. 安装CoffeeScript

没什么好说的

?

?

npm install coffee-script

?

这一步完成后我们就能使用 coffee 命令了。可以靠它把CoffeeScript编译成Javascript。

?

试一下,建立一个文件 test.coffee。内容如下:

?

?

alert 'aaa' if true

?

然后使用 coffee 命令编译它:

?

?

coffee -c test.coffee

?

这会在相同的目录下生成 test.js 文件:

?

?

(function() {
  if (true) {
    alert('hello');
  }
}).call(this);

?

4. Vim的CoffeeScript支持

不用Vim的可以不用看这一部分。Vim下有个插件叫 vim-coffee-scripts。它提供了CoffeeScript的语法高亮,缩进和自动编译功能。感兴趣的可以看看 github上的介绍。因为官方文档足够好了,这里就不多说了。

?

?

参考资料:

CoffeeScript官网,可以在线尝尝鲜。还记得Ruby官网的那个"Try Ruby"吗?

http://jashkenas.github.com/coffee-script/

?

Node.js官网,不多说了,服务器端JavaScript最近挺火的

http://nodejs.org/

?

安装Node.js和NPM的步骤。想自己编译的可以看看

https://github.com/joyent/node/wiki/Installation

?

使用包管理器安装Node.js,各种平台

https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager

?

Vim的插件支持

https://github.com/kchmck/vim-coffee-script

1 楼 cjwkof 2011-07-04  
语法太奇怪了..
2 楼 jallin 2012-02-06  
我的是0.4.9