Как я могу указать зависимости библиотеки с помощью SystemJS?
Используя SystemJS, как мне указать, что одна библиотека зависит от другой? Например, библиотека Bootstrap JavaScript зависит от jQuery. Исходя из документов SytemJS, я предположил, что укажу эту зависимость, используя System.config.meta
имущество:
System.config({
baseUrl: './scripts',
defaultJSExtensions: true,
map: {
jquery: './lib/jquery-2.2.0.min.js',
bootstrap: './lib/bootstrap.min.js'
},
meta: {
bootstrap: {
deps: ['jquery']
}
}
});
System.import('./scripts/app.js');
Но это, кажется, не имеет никакого эффекта. Когда я запускаю свое приложение, библиотека Bootstrap выдает Bootstrap's JavaScript requires jQuery
ошибка - это означает, что Bootstrap загружается до jQuery.
Как я могу гарантировать, что jQuery всегда загружается до Bootstrap?
1 ответ
После слепого изменения вещей я столкнулся с конфигурацией, которая, кажется, работает. Вот мой конфиг:
System.config({
defaultJSExtensions: true,
paths: {
jquery: './scripts/lib/jquery-2.2.0.min.js',
bootstrap: './scripts/lib/bootstrap.min.js'
},
meta: {
bootstrap: {
deps: ['jquery']
}
}
});
System.import('./scripts/app.js');
Я думаю, что ключ менялся от map
в paths
,
РЕДАКТИРОВАТЬ
Примечание: узнав немного больше о SystemJS, я обнаружил, что намного легче позволить jspm выполнять тяжелую работу по управлению моей конфигурацией SystemJS.