Pau*_*aul 11 coffeescript backbone.js
我认为这更像是一个CoffeeScript问题.我希望能够在文件中使用Backbone中的类foo.coffee.我在运行命令时尝试使用该-r选项来要求Backbonecoffee:
coffee -r "../backbone" -c foo.coffee
Run Code Online (Sandbox Code Playgroud)
编译器抱怨Backbone未定义.我相信这一定非常简单.很容易找到一起使用CoffeeScript和Backbone的人的例子.我也试过要求文件顶部的类如下:
Backbone.model = require('../../backbone').Model
class foo extends Backbone.model
Run Code Online (Sandbox Code Playgroud)
我可以把它写console.log在initialize方法中.当我尝试写作this时console.log,我只是得到一个空物体{}.
谁能告诉我如何实现这一目标?
Tre*_*ham 10
你能提供更多代码吗?我无法复制你遇到的问题initialize.这是我的代码,与文件backbone.js位于同一目录中coffee:
Backbone = require './backbone'
class foo extends Backbone.Model
initialize: ->
console.log this
new foo
Run Code Online (Sandbox Code Playgroud)
打开new foo,initialize调用并输出
{ attributes: {},
_escapedAttributes: {},
cid: 'c0',
_previousAttributes: {} }
Run Code Online (Sandbox Code Playgroud)
至于问题-r,有两个原因它不起作用:第一,-r执行
require '../backbone'
Run Code Online (Sandbox Code Playgroud)
没有将它分配给任何东西.由于Backbone不会创建全局变量(仅导出),因此必须在required 时分配模块.
其次,-r结合使用-c不会将required库添加到编译输出中.相反,它在编译期间需要它.实际上,-r只有存在才能扩展编译器本身 - 例如,在编译管道中添加预处理器或后处理器 - 如wiki中所述.
| 归档时间: |
|
| 查看次数: |
14462 次 |
| 最近记录: |