着实便是把JS好用的中间提炼进去了,再加点语法糖!
除了非你很熟习JS,否则COFFEE的实施功能约莫会比手写的高,而且斯文
可是假如你真的很熟习JS的话,你手写JS进去的代码理当也是跟coffee编译进去的没差
以是选COFFEE还能省键盘。。
先来看下比力代码(左为CoffeeScript):
CoffeeScript的排汇力:
一、提供一种比力重大的语法,削减了典型代码,诸如括号以及逗号;
二、运用空格作为一种机关代码块的措施;
三、提供具备表白函数的重大语法;
四、提供基于类的秉持(可选项,可是在妨碍运用挨次开拓时颇为实用)
先决条件:
CoffeeScript运用Nodejs的包揽理挨次,作为Node.js的一个包妨碍扩散。
CoffeeScript必需被编译,其编译器实际上便是运用CoffeeScript编写的,以是,需要一个JavaScript运行时来实现其编译。
装置措施:
sudo npm install -g coffee-script
装置乐成后,咱们理当可能在命令行中找到 coffee 命令了。coffee -v 我这里看到的是 1.6.0。运用 coffee 命令,可能将 .coffee 文件编译成 js 文件。运用 coffeescript 的格式来写 javascript 风闻可能节约三分之二的代码量哦。
根基用法:
-c,--compile 将.coffee编译为.js文件
-w,--watch 监控文件的变更,并输入监控的服从
-o,--output [DIR] 将编译的服从文件输入到指定目录
-p,--print 将编译服从
-l,--lint 假如装置了 jsl (javascript lint)的话,运用lint魔难代码
-s,--stdio 将此外挨次的输入作为coffee的尺度输入,而且取患上JavaScript的尺度输入。
-e,--eval 命令行的方式
装置:
你是否曾经愿望可能经由命令行来运行JavaScript?反正我是不,不外CoffeeScript可能会修正现状。有了Node.js,你可能经由命令行来运行JavaScript,或者是把JavaScript作为实施剧本的组成部份来运行。Node.js的这一主要功能应承在命令行上实施CoffeeScript代码,其提供了(运用CoffeeScript编写的)CoffeeScript编译器所需要的运行时。
第一步是装置Node.js,有多少种装置抉择;你可能编译源代码,或者是运行可用于种种零星的装置挨次之一。经由命令背运行node -v来确认Node.js已经装置而且已经位于道路中。
Node.js给你带来了一个格外的收获:节点包揽理器(NPM)。经由命令背运行npm -v确认NPM已经装置并已经位于道路中之后,就能凭证如下步骤来运用NPM装置CoffeeScript了。
1. 经由命令背运行npm install --global coffee-script。
--global标志让CoffeeScript可为全零星所用而不光是为某个特定名目所用。
2. npm命令理当输入诸如/usr/bin/coffee -> /usr/lib/node_modules/coffee-script/bin/coffee一类的信息。
NPM在 /usr/bin中建树了一个快捷方式,以是如今coffee这一可实施文件就处在精确的道路中了,这是CoffeeScript的编译器以及讲冥具。
3. 若要验证coffee这一实施文件已经位于道路中,经由命令背运行coffee -v。
还剩最后一步来确认CoffeeScript的情景已经被精确配置。为了让CoffeeScript对于任何启动的Node.js历程来说都是可用的,你需要把它退出到Node.js所谓的NODE_PATH中,在碰着未识别的函数时,Node.js会经由搜查NODE_PATH来取患上一些模块(库)。
就本文中的例子来说,次若是把Node.js用作CoffeeScript可实施文件的运行时。最简略的做法是重大地把所有的NPM模块都削减到NODE_PATH中,若要找出NPM模块所处的位置,输入 npm ls -g,你需要削减一个把NODE_PATH指向这一位置的情景变量。好比,假如npm ls -g的输入是/usr/lib,则模块位于/usr/lib/node_modules目录下,若要配置一个NODE_PATH情景变量,运行export NODE_PATH=/usr/lib/node_modules。
你可能经由把下面的命令放入到启动剧本(好比说~/.bash_profile)中来进一步简化这些使命。若要验证所做的更正,实施Node来启动一个Node.js外壳挨次,而后输入require('coffee-script'),Node.js外壳挨次理当就会载入CoffeeScript库。假如实施没下场的话,CoffeeScript情景便是随时可用的了。如今你可能从编译器开始,启动CoffeeScript的探究之旅了。
编译器
运行CoffeeScript编译器很简略,惟独输入coffee -c就能了,该命令启动了CoffeeScript的读取-合计-输入-循环(read-evaluate-print-loop,REPL)。若要实施该编译器,你需要把一个想要编译CoffeScript文件传给它。建树一个名为cup0.coffee的文件,把清单2中的内容粘贴到该文件中。
清单2. Cup 0
for i in [0..5]
console.log "Hello #{i}"
你可能会预料清单2中的这两行代码无能甚么,清单3给出了运行coffee cup0.coffee的输入。
清单3. 运行首个CoffeeScript
$ coffee cup0.coffee
Hello 0
Hello 1
Hello 2
Hello 3
Hello 4
Hello 5
为了对于爆发的使命有一个愈加清晰的意见,试着运行一下编译器,输入coffee -c cup0.coffee,该命令建树了一个名为cup0.js的文件,清单4给出了cup0.js的内容。
CoffeeScript 1.9.3 宣告,此版本主要有如下更新:
Bugfix for interpolation in the first key of an object literal in an implicit call.
Fixed broken error messages in the REPL, as well as a few minor bugs with the REPL.
Fixed source mappings for tokens at the beginning of lines when compiling with the --bareoption. This has the nice side effect of generating smaller source maPS.
Slight formatting improvement of compiled block co妹妹ents.
Better error messages for on, off, yes and no.