ローカル マシンで coffeescript コンパイラを使用して、この coffeescript を javascript にコンパイルすると、次のようになります。
window.App =
Models: {}
Views: {}
Collections: {}
Routers: {}
init: ->
Backbone.history.start()
この生成された JavaScript 出力で終了します。
// Generated by CoffeeScript 1.3.3
(function() {
window.App = {
Models: {},
Views: {},
Collections: {},
Routers: {}
};
({
init: function() {
var spotsList;
spotsList = new App.Views.SpotsList();
return Backbone.history.start();
}
});
}).call(this);
しかし、オンラインの coffeescript の同じコードを js http://js2coffee.org/サイトにコンパイルすると、次の結果が得られます。
window.App = {
Models: {},
Views: {},
Collections: {},
Routers: {},
init: function() {
return Backbone.history.start();
}
};
後者はより期待されているようです。これが私のプロジェクトでいくつかの問題を引き起こしている可能性があると思いますが、わかりません。App.init() を呼び出すと、javascript コンソールに存在しないと表示されます。助けてくれてありがとう!
修繕!
@Rob W が以下で指摘したように、coffeescript コードにいくつかのタブがありました。後で、TextMate をクリーン インストールし、「ソフト タブ (スペース)」に設定していなかったことが原因であることがわかりました。