と使用自動ロード-depsの私はパスとシムを定義RequireJs構成定義されています:あなたが最後に「シム」宣言がバックボーンにアクセスすることができるようにする必要があります(参照、それはのDEPのようRequireJs:シム
require.config({
// define application bootstrap
deps: ["main"],
// define library shortcuts
paths: {
app: "app"
, jquery: "lib/jquery"
, underscore: "lib/underscore"
, backbone: "lib/backbone"
, bootstrap: "lib/bootstrap"
},
// define library dependencies
shim: {
jquery: {
exports: "$"
},
underscore: {
exports: "_"
},
backbone: {
deps: ["underscore", "jquery"],
exports: "Backbone"
},
bootstrap: {
deps: ['jquery'],
exports: "bootstrap"
},
// main application
app: {
deps: ["backbone"],
exports: "App"
}
}
});
を)私は主なアプリケーション(名前空間)を読み込むとき。
現実には、これは動作しません:
require(["app"], function($, _, Backbone, App){
app.router = new Backbone.Router.extend({
// routing and route actions
});
});
私は思っていますどのような "バックボーン-boilderplate" -project、バックボーン(およびそのDEPS)でこのよう利用可能であることである。 https://github.com/tbranyen/backbone-boilerplate/blob/master/app/main.js
これは関数内でこれを定義する必要さえありませんでした。
どうしたのですか?
をルータを拡張する 'require'関数から' $、_、Backbone'を削除しようとします。私はシムが働くので、あなたはどんな呼び出しにも追加する必要のないグローバル値をエクスポートすることができると思います。 – jakee
Hey、それは素晴らしいです:)私は定義関数のdeps-arrayに "backbone"これはすべてのモジュールでは機能しませんが...私は質問を閉じることができるように答えを作成しますか? –
完了、私は助けることができてうれしい! – jakee