我使用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