Экспозиция миндального модуля с оконным объектом не выполняется из-за асинхронности
Я работаю над проектом JavaScript, где мы используем requirejs для управления нашим кодом. Продукт, который мы создаем, будет использоваться на сторонних веб-сайтах, и поэтому мы не можем предполагать, что присутствует AMD-совместимая библиотека. Чтобы решить эту проблему, мы включаем миндаль в наш целевой файл и выставляем наш основной модуль на window
, Файл, созданный нашей сборкой, выглядит следующим образом:
(function() {
//Almond lib
//Our code
define('window-exposer', ['main-module'], function(mainModule) {
window.mainModule = mainModule;
});
require('window-exposer');
}());
При создании сайта, который хотите использовать mainModule
выдается ошибка, потому что, когда специфический код сайта пытается получить доступ window.mainModule
это еще не было установлено. Есть также случаи, когда модуль действительно был инициализирован и код работает.
Есть ли способ гарантировать, что window-exposer
запускается раньше, чем другой JavascriptCode?
1 ответ
I solved it by using the solution provided here https://github.com/jrburke/almond