2015-10-24 31 views
0

我使用require.js將cola.js異步加載到Chrome瀏覽器中。我有本地託管的cola.v3.min.js,並在我的require.config塊中引用。瀏覽器發現模塊正常,加載狀態爲200,我可以檢查瀏覽器中的cola.v3.min.js內容。但在功能範圍內,可樂未定義。要求似乎不會引發錯誤 - 只是將可樂通過爲未定義。 D3加載並正常工作。看看cola.js源代碼,它似乎解決了AMD的負載問題,'可樂'似乎是正確的答案。爲什麼沒有可樂?謝謝。通過require(AMD)加載cola.js

define('geotbl', ['jquery','underscore','backbone','cola','d3'], 
    function($, _, Backbone, cola, d3){ 

    tbl.force = cola.d3adaptor() //<-- cola is undefined here 
       .linkDistance(320) 
       .etc; 
    }) 

回答

0

我發現requirejs好像加載了這個可樂模塊有時候並不總是如此。 後來我把它加入了墊片,以我的require.js入口點的配置部分的工作:

require.config({ 
    paths: { 
    'cola': '/vendor/colajs/cola.min', 
    }, 
    shim: { 
     'cola':{ exports: 'cola'}, 
     'underscore': { exports: '_' }, 
    }, etc. 
-1

我試過墊片,但它似乎並不奏效。所以我用以下方法新石器時代:

​​

我很想知道爲什麼需要被窒息,並希望能有一個更好的解決方案。