2012-01-09 17 views
3

これは私のmain.jsです。ご覧のとおり、非常に基本的です。私はちょうどjqueryのプラグインが必要です。Require.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の中に入れると警告が表示されます。

答えて

1

解決済み。

私のapp.build.jsのモジュールに「exclude:['jquery']」を追加しました。

+3

** **はなぜ問題を解決しますか? – Henrik

関連する問題