我从这个source读到我能够在我的控制台上使用coffee -r ./prelude
运行交互式环境。但是,它不适用于我的Linux Mint 15。
是的,已安装CoffeeScript。我只需在我的控制台上键入coffee
即可进入交互模式(尽管只有一行表达式)。
我收到以下错误,显然选项-r无法识别。
/usr/lib/node_modules/coffee-script/lib/coffee-script/optparse.js:51
throw new Error("unrecognized option: " + arg);
^
Error: unrecognized option: -r
at OptionParser.exports.OptionParser.OptionParser.parse (/usr/lib/node_modules/coffee-script/lib/coffee-script/optparse.js:51:19)
at parseOptions (/usr/lib/node_modules/coffee-script/lib/coffee-script/command.js:464:29)
at Object.exports.run (/usr/lib/node_modules/coffee-script/lib/coffee-script/command.js:55:5)
at Object.<anonymous> (/usr/lib/node_modules/coffee-script/bin/coffee:7:41)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
coffee -r ./prelude
是否会给我另一种交互模式(也许是多行表达式)?这可能是操作系统问题吗?
答案 0 :(得分:0)
`prelude / prelude.coffee'文件以:
开头# Usage: require './prelude' or on commandline: coffee -r ./prelude
# This prelude is a learning environment for 'Smooth CoffeeScript'.
显然,-r
选项意味着require
。这是否是早期的命令行选项(smooth
已有几年历史),或者是自定义coffee
的一部分,我不知道。在任何情况下,它都不是当前coffee
的选项。使用coffee -h
查看当前使用情况。
您需要做的是输入coffee
的互动咖啡,然后require <the prelude.coffee location>
。 prelude
做了一些技巧,实际上将其函数放在全局命名空间中。有了它,就可以更轻松地按照本书中的示例进行操作,但它不应该被用作coffee
设置的常规部分。
show
prelude
定义的最常用的效用函数。在许多情况下,您可以使用console.log
代替它。
答案 1 :(得分:0)
首先coffee -r
/ coffee --run
用于运行脚本。
然后使用coffee -r
/ coffee --require
来要求模块。
@jashkenas对此说:
- require 最初用于鼓励人们将编译器的内部类“扩展”(读取,猴子补丁)到他们自己的目的。它并没有真正起作用,所以我们删除了它。相反,如果您直接使用咖啡运行它们,您可以像往常一样在文件中使用require()。如果你没有直接用咖啡运行,那就没关系了。
目前,Coffescript版本 1.6.3 ,本书是在 1.2.0 时编写的。
我可以推荐这些在线书籍: