2

原谅菜鸟的问题,但为什么我不能(几乎)从coffeeREPL(或者从在 TextMate 中编写和运行的文件)调用任何标准函数?

变量赋值有效,函数无效。

例子:

coffee> string = "string"
'string'
coffee> list = [1,2,3]
[ 1, 2, 3 ]
coffee> num = 42
42
coffee> opposite = true
true
coffee> num = -42 if opposite
-42

coffee> alert "Hello, World"
ReferenceError: alert is not defined
    at repl:1:5
    at REPLServer.replDefaults.eval (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/repl.js:33:28)
    at repl.js:239:12
    at Interface.<anonymous> (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/repl.js:62:9)
    at Interface.EventEmitter.emit (events.js:117:20)
    at Interface._onLine (readline.js:202:10)
    at Interface._line (readline.js:531:8)
    at Interface._ttyWrite (readline.js:760:14)
    at ReadStream.onkeypress (readline.js:99:10)
    at ReadStream.EventEmitter.emit (events.js:117:20)

coffee> print "Hello"
ReferenceError: print is not defined
    at repl:1:5
    at REPLServer.replDefaults.eval (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/repl.js:33:28)
    at repl.js:239:12
    at Interface.<anonymous> (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/repl.js:62:9)
    at Interface.EventEmitter.emit (events.js:117:20)
    at Interface._onLine (readline.js:202:10)
    at Interface._line (readline.js:531:8)
    at Interface._ttyWrite (readline.js:760:14)
    at ReadStream.onkeypress (readline.js:99:10)
    at ReadStream.EventEmitter.emit (events.js:117:20)

真正让我感动的是:

coffee> console.log "Help!"
Help!
undefined

我通过 Homebrew 安装了 Node,并通过npm.

4

3 回答 3

5

alert不是javascript的功能。它是浏览器向 JavaScript公开的 API 的一部分。在coffee您计算机上的命令行中,只是node.js将咖啡脚本翻译成 JavaScript 以由节点解释的一个薄包装器。 node.js不提供alert功能。它也不提供全局print功能。

节点和浏览器都提供console全局对象。所以console.log工作相同。

复习节点文档以了解节点公开的功能。请记住,仅仅因为它可以在浏览器中运行并不意味着它可以在节点中运行。

于 2013-10-03T22:02:02.240 回答
1

alert并且print不是本机node.js功能

如果您想在不更改示例代码片段的情况下从命令行开始使用咖啡,请在运行代码之前在提示符处尝试以下两个分配。

print = console.log
alert = console.log

这是一个小的 Hello World 功能,可以帮助您入门:-

coffee> hello = (word) -> console.log "Hello " + word
coffee> hello "World"
Hello World

于 2016-10-31T07:14:19.590 回答
0

在使用“警报”命令之前

  1. 必须安装“警报节点”库
  2. 需要'alert-node'到你的脚本

按照此链接进行操作-> 警报功能在coffeescript中不起作用

npm install alert-node

alert = require('alert-node')

于 2017-10-27T10:24:20.613 回答