它调用生成的javascript与coffeescript

时间:2013-02-04 16:06:08

标签: javascript jquery backbone.js coffeescript

原生javascript:

var Person;
Person = Backbone.Model.extend({});

如果我在谷歌浏览器控制台var person = new Person;

中书写,此代码工作正常

我的main.coffee

Person = Backbone.Model.extend({})

生成的main.js

// Generated by CoffeeScript 1.4.0
(function() {
  var Person;

  Person = Backbone.Model.extend({});

}).call(this);

如果我使用Google Chrome控制台编写:

var person = new Person;
ReferenceError: Person is not defined

如何使用生成的javascript而不是原生javascript从控制台创建实例?

1 个答案:

答案 0 :(得分:3)

CoffeeScript默认包装函数中的所有代码以避免污染全局命名空间。您可以使用-b / --bare标志编译代码以避免使用此包装,或使用window.Person = Backbone.Model.extend({})手动将其设置为全局,这是在CoffeeScript中执行所需操作的常用方法。