2013-12-13 31 views
2

第一個問題,所以請好!使用同位素v2與RequireJS

我已經能夠得到同位素工作正常,但只要我嘗試使用RequireJS加載它旁邊的jQuery,我似乎無法得到它的工作。

這絕對是加載文件,因爲我可以在開發工具欄的頭部看到它們,所以路徑很好。我難倒什麼isotopePkg做,他甚至說,它是不確定的(???)

這是我的app.js樣子......

requirejs.config({ 
    paths: { 
     'jquery' : ['//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min', 
      'jquery-1.10.2.min'], 
     'isotope' : 'isotope.min' 
    }, 
    shim: { 
     'isotope' : ['jquery'] 
    } 
}); 

require(['jquery', 'isotope'], function(jQuery, Isotope) { 

    jQuery('#container').isotope({ 
     itemSelector: '.element' 
    }); 

}); 

沒有人有工作的例子是什麼這段代碼應該看起來像這樣,或者對我在哪裏出錯了有什麼想法?

+0

你能在小提琴重現此?我設置了一個重現你在這裏展示的內容,並且它工作得很好。 http://jsfiddle.net/nate/Js5hL/ – Nate

+0

好吧,讓我失望,我沒有想到!那肯定是別的東西。我離開了幾天,所以現在看不到,但是當我回來併發布我的發現時,我會檢查它。感謝您的看法。 – coconewty

回答

4

我遇到了同樣的問題,在實況環境中需要同位素包請求其他模塊。請參閱下面的代碼並鏈接isotope documentation以獲取有關如何使用requirejs實現同位素的進一步說明。

我意識到答案已經晚了,但希望這可以幫助任何遇到此問題的人。

// require the require function 
requirejs([ 'require', 'jquery', 'path/to/isotope.pkgd.js' ], 
    function(require, $, Isotope) { 
    // require jquery-bridget, it's included in isotope.pkgd.js 
    require([ 'jquery-bridget/jquery.bridget' ], 
    function() { 
     // make Isotope a jQuery plugin 
     $.bridget('isotope', Isotope); 
     // now you can use $().isotope() 
     $('#container').isotope({...}); 
    } 
); 
}); 
+0

感謝您指出了這一點......我需要學習閱讀文檔:) –

+0

+ +1爲好的答案。但是,當我看到像這樣的破壞性代碼時...我很在意將它添加到我的生產環境中。我想知道他們爲什麼不能正常地與RequireJS進行交互?哦,非常適合同位素。 –