Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Coffeescript 从主干和咖啡脚本开始_Coffeescript_Backbone.js - Fatal编程技术网

Coffeescript 从主干和咖啡脚本开始

Coffeescript 从主干和咖啡脚本开始,coffeescript,backbone.js,Coffeescript,Backbone.js,我认为这更像是一个问题。我希望能够使用foo.coffee文件中的类。在运行coffee命令时,我尝试使用-r选项要求: coffee -r "../backbone" -c foo.coffee 编译器抱怨这是未定义的。我相信这一定很简单。很容易找到人们一起使用和的例子。我还尝试要求类位于文件顶部,如下所示: Backbone.model = require('../../backbone').Model class foo extends Backbone.model 我可以在init

我认为这更像是一个问题。我希望能够使用
foo.coffee
文件中的类。在运行
coffee
命令时,我尝试使用
-r
选项要求:

coffee -r "../backbone" -c foo.coffee
编译器抱怨这是未定义的。我相信这一定很简单。很容易找到人们一起使用和的例子。我还尝试要求类位于文件顶部,如下所示:

Backbone.model = require('../../backbone').Model

class foo extends Backbone.model
我可以在
initialize
方法中将其写入
console.log
。当我试图将
这个
写入
控制台.log
时,我得到了一个空对象
{}


有人能告诉我怎么做吗?

你能提供更多的代码吗?我无法复制您在
初始化时遇到的问题。这是我的代码,其中
backbone.js
coffee
文件位于同一目录中:

Backbone = require './backbone'

class foo extends Backbone.Model
  initialize: ->
    console.log this

new foo
newfoo
上,调用
initialize
,输出为

{ attributes: {},
  _escapedAttributes: {},
  cid: 'c0',
  _previousAttributes: {} }
至于
-r
的问题,有两个原因它不起作用:第一,
-r
执行

require '../backbone'
没有分配给任何东西。由于主干不创建全局(仅导出),因此必须在模块
require
d时分配模块

其次,结合使用
-r
-c
不会将
require
d库添加到编译输出中。相反,它在编译期间需要它。实际上,
-r
的存在只是为了扩展编译器本身,例如,在编译管道中添加一个预处理器或后处理器。

如果您正在使用和,我建议您签出。
这也许能帮你克服困难。

谢谢你的帮助。我所要做的就是用Coffeescript来做主干todos教程。我克隆了主干回购协议,然后在咖啡示例下创建了自己的目录。长话短说,我把主干线和下划线移到了同一个目录中,上面的“foo”示例成功了。我也能在图坦卡蒙上“你好世界”。我刚刚注释掉了生成代码中的require语句和主干变量声明。然后,我加载了index.html和预期的控制台输出。当我的html加载coffee需要编译的LIB时,是否有更简单的工作流?你的意思是这样的吗?:)(请参阅我对该问题的回答,了解更多针对浏览器的编译方法。
coffee
用途广泛,但它绝对不是适合所有工作的工具。)好的。很公平。目前,我正试图要求作为TODO一部分的“主干本地存储”文件。它希望加载下划线。无需在浏览器中定义和编译TODO。。。如何管理这些依赖关系,以便编译?我试着在我的Todos.coffee中要求下划线并将其分配给uu。我仍然得到了“没有定义”。我肯定错过了一些明显的东西???