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。我仍然得到了“没有定义”。我肯定错过了一些明显的东西???