Я попытался загрузить Cycle DOM из их CDN через SystemJS примерно так:
System.config({
map: {
'cycle-dom': 'https://unpkg.com/@cycle/[email protected]/dist/cycle-dom.js',
'xstream': 'https://cdnjs.cloudflare.com/ajax/libs/xstream/10.3.0/xstream.min.js',
}
});
System.import('cycle-dom', cycleDOM => {
...
});
Но я быстро понял, что Cycle-dom нуждается в xstream
. Итак, я пытаюсь загрузить оба:
Promise.all([
System.import('xstream'),
System.import('cycle-dom')
])
.then(([xs, cycleDOM]) => {
...
});
Но я все еще получаю ту же ошибку. Похоже, что cycle-dom
ожидает, что xstream
будет существовать на window
при первой загрузке. Итак, я попытался:
System.import('xstream')
.then(xs => window['xstream'] = xs)
.then(() => System.import('cycle-dom'))
.then(cycleDOM => {
...
});
Я чувствую, что делаю все это неправильно. Как я могу это сделать?
Обновление:
Следуя приведенному ниже совету Мартина, я попытался настроить xstream
как зависимость от cycle-dom
.
Вот демонстрация jsbin. Я загружаю цикл-выполнение и cycle-dom, а затем запустить пример с домашней страницы цикла.
Но я получаю сообщение об ошибке:
"TypeError: Не удается прочитать свойство "по умолчанию" неопределенного"
Undefined в данном случае означает, что cycle-dom
пытается загрузить window['xstream']
, который не загружается.
Спасибо.