我使用RequireJS將所有JavaScript作爲AMD模塊加載。具體來說,我使用「shim」配置來加載非AMD模塊。如何整合mixpanel和requirejs?
但是,當我嘗試加載MixPanel時,我收到了一個'undefined'對象。
這裏是相關的文件,與我成功shim'ed條紋js作比較。
main.js:
require.config({
paths: {
stripe: 'libs/stripe/stripe',
mp: 'libs/mixpanel/mixpanel'
},
shim: {
'stripe': {
exports: 'Stripe'
},
'mp': {
exports: 'MP'
}
}
});
libs/stripe/stripe.js
和libs/mixpanel/mixpanel.js
都有(function() {})();
電話作爲自己的單證建議。
我payment.js(它包裝條紋):
define(['jquery', 'stripe'], function ($, Stripe) {
var key = "MY_KEY";
Stripe.setPublishableKey(key);
});
我track.js(它包裝MixPanel):
define(['jquery', 'mp'], function ($, MP) {
var token = "MY_TOKEN";
MP.init(token);
});
值得指出:你傳遞給define的第一個參數應該是* array *而不是_object_ – 2013-02-25 21:23:13
這是我的問題中的一個錯誤。更新。 – 2013-02-25 21:27:11