Это мой main.js. Как видите, это очень просто. Мне просто нужен плагин jquery.
//main.js
require.config({
paths: {
jquery: 'lib/jquery/jquery-1.7.1.min',
underscore: 'lib/underscore/underscore-min',
backbone: 'lib/backbone/backbone-optamd3-min',
text: 'lib/requirejs/text',
bootstrap_dropdown: 'lib/bootstrap/bootstrap-dropdown',
}
});
require([
'app',
'bootstrap_dropdown', //LOAD THE JQUERY PLUGIN!!
], function(App){
App.initialize();
});
Это мой app.js
//app.js
define([
'jquery',
'underscore',
'backbone',
'router',
], function($, _ , Backbone, Router){
var initialize = function(){
$(function(){
$("#menu_topbar").dropdown();
});
Router.initialize();
}
return {
initialize: initialize
};
});
Когда я запускаю сайт нормально (без оптимизации), все работает, и можно использовать выпадающий плагин. Но когда я оптимизирую, он говорит, что он имеет no method dropdown();
По какой-то причине этот плагин не загружен, что странно. Я смотрю в свой объединенный файл JS, и я вижу там плагин!
Это мой build.js:
({
paths: {
jquery: 'lib/jquery/jquery-1.7.1.min',
underscore: 'lib/underscore/underscore-min',
backbone: 'lib/backbone/backbone-optamd3-min',
text: 'lib/requirejs/text',
bootstrap_dropdown: 'lib/bootstrap/bootstrap-dropdown',
},
baseUrl:'.',
appDir:'./',
dir: '../prod_js',
optimize: 'none',
optimizeAllPluginResources:false,
findNestedDependencies:true,
inlineText: true,
modules: [
{
name: 'main',
}
]
})
Это не только этот плагин. Я могу выбрать любой другой плагин, и он не будет работать.
Я также попробовал require-jquery.js, который сейчас использую. Все та же проблема.
Когда я помещаю "alert ('test')" в bootstrap-dropdown.js, он выводит предупреждение.