【发布时间】:2014-08-01 12:13:59
【问题描述】:
尝试在命令行中将简单的咖啡脚本编译为 JS 失败并出现以下错误:
> ReferenceError: ko is not defined at Object.<anonymous>
> (/Users/jikku/JS/ko_crashcourse/script.coffee:2:9) at
> Object.<anonymous> (/Users/jikku/JS/ko_crashcourse/script.coffee:1:1)
> at Module._compile (module.js:456:26)
我正在尝试编译的咖啡脚本:
app_model =
task: ko.observable()
tasks: ko.observableArray()
add_task: ->
@tasks.push @task()
return
ko.applyBindings app_model
- 在JS2Coffee 中运行良好
- 我使用了命令:
coffee s.coffee
有什么想法吗?
【问题讨论】:
-
因为错误表明您正在尝试访问未定义的对象:ko。尝试检查它为什么未定义。
-
这很简单
ko没有定义。 -
听起来您正在将 CoffeeScript 转换为 JavaScript。转译器(有时称为编译器)应该有一些选项允许您定义将存在于您希望运行 JavaScript 的环境中的外部符号。将
ko添加到该符号列表中。 -
是的,我正在蒸腾;如何添加外部符号?通过命令行参数? js2coffee是如何自己检测到的?
标签: javascript knockout.js command-line coffeescript