0

ネイティブ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);

私がグーグルクロームコンソールで書く場合:

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

ネイティブJavaScriptの代わりに生成されたJavaScriptを使用してコンソールからインスタンスを作成するにはどうすればよいですか?

4

1 に答える 1

3

CoffeeScriptは、グローバル名前空間の汚染を回避するために、デフォルトですべてのコードを関数でラップします。-bこのラッパーを回避するために/--bareフラグを使用してコードをコンパイルするかwindow.Person = Backbone.Model.extend({})、手動でグローバルにするために使用できます。これは、CoffeeScriptで必要なことを行う一般的な方法です。

于 2013-02-04T16:10:52.290 に答える