ほとんどの場合、少なくとも 1 つのものをウィンドウに表示する必要があります。
ただし、名前空間を使用して支援することができます。
// app.js
var App = App || {};
App.Views = App.Views || {};
App.Models = App.Models || {};
App.Views.HomeView = Backbone.View.extend({});
App.Model.User = Backbone.Model.extend({});
必ずしも必要ではない唯一のケースは、requireJS を使用している場合です。
// app.js
define(['views/home'], function (home) {
var home = new home({
el: '#home'
});
});
// views/home.js
define(['backbone'], function (Backbone) {
var home = Backbone.View.extend({});
return home;
});
ただし、本当にやりたいのであれば、Self Executing Function 内ですべてを行うことができると思います。
(function ($, Backbone) {
// Do your stuff here instead?.
// Just keep in mind, nothing you do in here will be available outside.
var home = Backbone.View.extend({});
new home(); // Works...
}(jQuery, Backbone);
new home(); // FAIL!
唯一の問題は、関数内で行うことはすべて、関数外では利用できないことです。
実装について質問がある場合はお知らせください。