请原谅noob问题,但为什么我不能(几乎)调用coffee
REPL中的任何标准函数(或者从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
我通过npm
安装了Homebrew和CoffeeScript(全局)安装Node。
答案 0 :(得分:5)
alert
不是javascript的功能。它是浏览器公开到JavaScript的API的一部分。并且coffee
在您的计算机上的命令行只是node.js
的一个薄包装器,它将咖啡脚本转换为javascript以便由节点解释。 node.js
未提供alert
功能。它也不提供全局print
功能。
节点和浏览器都会在全局范围内提供console
对象。所以console.log
的工作方式相同。
刷新node docs以了解节点暴露的功能。并且记住,仅仅因为它在浏览器中有效并不意味着它在节点中起作用。
答案 1 :(得分: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
答案 2 :(得分:0)
使用'alert'命令之前
点击此链接 - &gt; Alert function not working in coffeescript
npm install alert-node
alert = require('alert-node')