2013-03-11 62 views
0

我正在使用RequireJS創建JavaScript SDK以用於其他人的網站。我的RequireJS build config使用命名空間「myNamespace」,這樣我的SDK就可以與其自己版本的RequireJS捆綁在一起,而不會干擾其他人的網站。RequireJS優化器名稱空間

myNamespace.define('public1', function (require) { 
    var public2 = require('public2'); 

    return { x: 1, y: public2.y }; 
}); 

myNamespace.define('public2', function (require) { 
    return { y: 1 }; 
}); 

define(function (require) { 
    var private1 = require('private1'); 
    var private2 = require('private2'); 
    var public1 = myNamespace.require('public1'); // This doesn't work as it isn't using the provided `require` method. 
}); 

任何想法如何「混合」兩個RequireJS庫:雖然這作品如預期,我想需要一個從其他RequireJS模塊我的SDK模塊時遇到問題?有關RequireJS命名空間的更多信息,請點擊此處:http://requirejs.org/docs/faq-advanced.html#rename

回答

0

所以,我想出了一個解決方案。請讓我知道,如果你認爲這可以做得更聰明。我創建了一個用作包裝的插件:

define(['https://example.com/mySDK.js'], { 
    load: function (name, req, onload, config) { 
     myNamespace.require([name], onload); 
    } 
}); 
相關問題