第1章 入门指南
如果你读过前言,那么现在应该已经了解了CoffeeScript是什么,它从何而来,以及它为什么是继Herman Miller牌办公椅之后,对程序员来说最棒的东西了。但是实际上你还没写过一行代码,等不及了是吧?
好,深呼吸下,时候到了。在本章中,我们将在你的操作系统中安装CoffeeScript,配置好编辑器,最后再运行一些代码!
1.1 安装CoffeeScript(1)
CoffeeScript编译器是用CoffeeScript写成的,这就产生了一个先有鸡还是先有蛋的问题:我们是如何在一个还没装CoffeeScript编译器的系统上运行编译器的呢?如果能找到某种方法,在机器上浏览器之外运行JavaScript代码,且允许这些代码访问本地文件系统就好了……
对,其实我们有Node.js!大家把Node当成一个JavaScript的Web服务器(详见6.1节),但是它可不止这个功能。从根本上讲,它是JavaScript代码和操作系统之间的一个桥梁。Node也有一个名为npm的很棒的工具,即Node包管理器(Node Package Manager) 。如果你是Ruby程序员,可以将其想象为Node版的RubyGems 。npm已经成为安装管理Node程序和类库约定俗成的标准了。
本节的剩余内容讲述Node和npm的安装,有了它们,我们就能够使用CoffeeScript标准的coffee编译器了(我们在第6章同样需要使用Node和npm)。如果你迫不及待地想要实践一下的话,可以访问http://coffeescript.org/,点击"Try CoffeeScript"按钮,然后直接跳到下一章去(要在浏览器中显示console输出,需要某些工具,比如说Fire Lite )。
准备好了?那我们就开始吧。
使用Node.js和npm安装CoffeeScript
尽管有很多不借助Node来运行CoffeeScript代码的方法(附录2会谈到其中几种),然而我还是假定你在全书中用的是标准的coffee命令,专门运行在Node上的。但是只有在第6章才会明确需要使用Node和npm。
请注意,使用Windows系统的用户,在继续之前你需要先安装Cygwin 。Cygwin基本上相当于一个Linux模拟器。虽然Node.js在0.6版本的蓝图中计划直接支持Windows,但是在写作本书之时,使用Cygwin是现有的最可靠的方法。
Mac用户需要安装Xcode ,重点并不在于这个程序,而在于那些随它一起安装的命令行开发工具。尝试运行命令gcc(GNU编译器集合)来检测系统中是否已经安装了这些工具:
![]() |
如果输出如上所示,那就说明准备就绪了。如果没有的话,那么就请安装Xcode(Mac用户),或者直接安装标准创建工具(Linux或者Cygwin环境下)。
无论是什么系统(Linux/Unix/Mac),现在都配置好标准创建工具了吧?太棒了!现在去访问http://gist.github.com/579814,此处列出的安装方法之多会让你眼花缭乱,它们都出自npm的创建者Isaac Schlueter。对于所有Mac用户,我推荐使用Homebrew 方法(先安装Homebrew)。对于其他系统的用户,列表中的第一个选择则最为直接,也是最好的方式。Node是个很大的程序包,安装它需要花几分钟。
安装好Node之后,运行最新的npm远程安装脚本:
![]() |
如果你碰到权限错误,可以使用chown 改变Node安装目录的属权(该方法可以减少很多麻烦),也可用sudo sh 替换普通sh。
无论选择哪种方法,都要测试一下node和npm是否已经存在于系统的环境变量PATH中了:
![]() |
(简单的提一下与版本相关的事情:Node的版本号为偶数时API保持稳定。因此,本书的例子在最新的0.4.x版本下应该运行正常。但是Node 0.5.x版则会以API的变化为重点,而这些变化将会包含到0.6.x稳定版中。说到npm,本书中假定你使用的是npm 1.x。因此,如果你还在使用npm 0.x,是时候升级了。)
现在抓取最新发布的CoffeeScript:
![]() |
参数-g是--global的缩写,它使已安装好的库在全局系统中都可用(默认情况下,npm install [package]把指定的程序包安装到当前的子目录node_module中,这样便于安装只适用于特定项目的类库)。只要是安装那些包含二进制可执行程序的程序包,我都推荐使用-g参数。
npm install命令的输出结果告诉我们,作为安装包的一部分,两个二进制可执行程序cake和coffee已安装好了。让我们测试下coffee是否已经在系统的PATH 中了:
![]() |