Я использую RequireJS для загрузки всех моих javascript в виде модулей AMD. В частности, я использую конфигурацию «прокладки» для загрузки модулей без AMD.Как интегрировать mixpanel и requirejs?
Но я получаю объект «undefined», когда я пытался загрузить MixPanel.
Вот соответствующие файлы, с моей удачно подобранной Stripe 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 (который оборачивает Stripe):
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, должен быть * массивом * не _объектом –
, что было ошибкой в моем вопросе. обновлено. –