Я разрабатываю приложение на Webix Jet. В нем, в частности, я использую собственные компоненты, описанные функцией webix.protoUI. Таким образом, в приложении есть 2 типа файлов:
Модули Webix Jet, которые объявляются как:
define([...],function(){
return {
...
};
});
Компоненты, которые вынесены в отдельные файлы:
webix.protoUI({
...
}, webix.ui.form);
Вопрос в том, каким образом, я могу в компонентах использовать функции, вынесенные в отдельный скриптовый файл. Как я понимаю, на такой скриптовый файл надо будет сослаться из index.html (так же как на webix.js). Но тогда он будет загружаться сразу при загрузке программы. Можно ли как-то сделать, чтобы сослаться на этот скрипт именно из файла конкретной компоненты? Аналогичный вопрос про файл отдельный стилей (*.css), который будет использоваться только, если приложение “дошло” до отображения конкретной компоненты. Т.е. тоже хотелось бы не ссылаться на все файлы стилей из index.html.
Насчет css вопрос был больше теоретический. Насчет кастомных компонент, я так и подгружаю их через require. Вопрос в том как подгружать скриптовые функции, которые используются в компонентах. Не хотелось бы все скриптовые функции, которые используются внутри кода компонент, сразу объявлять в index.html
А как именно подгружать? Допустим я сделал файл api.js. В нем просто описаны функции:
function getContact() {
}
..
function getModels() {
}
Далее, у меня есть файл компоненты contactSearch.js:
webix.protoUI({
.. Где-то здесь я хочу вызвать getContact()
});
Как мне сделать так, чтобы getContact() была видна из contactSearch.js, не ссылаясь на api.js из index.html? Заранее прошу прощения, я не знаю requireJS. Подгрузку по мере необходимости можно сделать внутри кода компоненты, как-то средствами Webix Jet или RequireJS?