2014-04-27 73 views
0

我用bower安裝了hyperagent,並且拉下了一些依賴關係,我只是不確定如何正確初始化它。用require.js加載hyperagent

據我所說,它不支持AMD加載,所以我試圖使用填充配置。我已經嘗試了一些東西,看起來像這樣:

<script src="{{ path('root') }}bower/requirejs/require.js"></script> 
    <script> 
     require.config({ 
      "baseUrl": "{{ url('root') }}/bower/", 
      paths: { 
       "vue": 'vue/dist/vue.min', 
       "hyperagent": 'hyperagent/dist/hyperagent', 
       "jquery": "jquery/jquery.min", 
       "uri": "uri.js/src/URI.min" 
      }, 
      shim: { 
       'hyperagent': { 
        'deps': ['jquery', 'uri'], 
        'exports': 'Hyperagent' 
       } 
      } 
     }); 

    </script> 

當我後來做

require(['vue', 'hyperagent'], function(Vue, Hyperagent) { ... }); 

Hyperagent是不確定的。

我的方式離譜嗎? (哦,鬍鬚是樹枝,這是一個Symfony項目)

回答

0

感謝Ben Weiner這個。取自here

我通過鮑爾安裝了hyperagent和URIjs,現在我只是在需要hyperagent之前將window.URI設置爲全局。這裏是我的require.js配置的相關部分:

require.config({ 
    paths: { 
    'hyperagent': '../bower_components/hyperagent/dist/amd/hyperagent', 
    'URIjs': '../bower_components/uri.js/src', 
    } 
}); 

要使用它,我只是定義返回一個配置hyperagent如configured_hyperagent.js的AMD模塊:

define(function(require) { 
    window.URI = require('URIjs/URI'); 
    window.URITemplate = require('URIjs/URITemplate'); 
    Hyperagent = require('hyperagent'); 

    // Hyperagent.configure() etc.. 

    return Hyperagent; 
});