CoffeeScript互动

时间:2014-01-19 10:28:23

标签: coffeescript linuxmint

我从这个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是否会给我另一种交互模式(也许是多行表达式)?这可能是操作系统问题吗?

2 个答案:

答案 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用于运行脚本。

已从 0.5.3 issue / commit)弃用。


然后使用coffee -r / coffee --require来要求模块。

1.5.0 commit / issue)后删除。

@jashkenas对此说:

  

- require 最初用于鼓励人们将编译器的内部类“扩展”(读取,猴子补丁)到他们自己的目的。它并没有真正起作用,所以我们删除了它。相反,如果您直接使用咖啡运行它们,您可以像往常一样在文件中使用require()。如果你没有直接用咖啡运行,那就没关系了。

目前,Coffescript版本 1.6.3 ,本书是在 1.2.0 时编写的。


我可以推荐这些在线书籍: