バックボーンにプロジェクトがあり、require.jsを使用してコードをモジュール化しています。
私のmain.jsは次のようになります:
require.config({
paths:{
jquery:'../../../../core/js/external/jquery/jquery-1.8.2',
underscore:'../../../../core/js/external/underscore/underscore',
backbone:'../../../../core/js/external/backbone/backbone',
text:'../../../../core/js/external/require/text',
backbone_paginate:'../../../../core/js/external/backbone/backbone.pagination',
'jquery.sprites':'../../../../core/js/sprites',
'jquery.sprite_util':'../../../../core/js/util/spriteUtil'
},
shim:{
'backbone':{
deps:['underscore', 'jquery'],
exports:'Backbone'
},
'underscore':{
exports:'_'
},
'jquery.blades':{
deps:['jquery']
},
'jquery.sprites':{
deps:['jquery']
},
'jquery.sprite_util':{
deps:['jquery.sprites']
}
}
}
});
require(['../app'], function (AppView) {
"use strict";
new AppView();
});
したがって、ここでjquery.spritesとjquery.utilsは、ビューに含めずに使用する必要のあるプラグインです。現在、使用されている場所ならどこにでも含める必要があります。例:
define([
'jquery',
'underscore',
'backbone',
'views/SimpleNamedObjectView',
'jquery.sprites',
'jquery.sprite_util',
], function($, _, Backbone, SimpleNamedObjectView){
"use strict";
すべてのビューに含めずにjquery.spritesとjquery.sprite_utilにアクセスできる方法はありますか?main.jsからのすべてのビューに対してグローバルになり、すべてのビューにプラグインを含めずにこれらのプラグインの機能を使用できるようにすることはできますか?たとえば、this。$ el.getSprites(); (getSpritesはjquery.spritesのメソッドです)