Рефакторинг кода расширения Crossrider
Я построил свое расширение, используя Crossrider, и на данный момент весь мой код находится в файле extension.js. Тем не менее, он становится довольно длинным и становится все труднее поддерживать в этом монолитном файле. Есть ли способ разбить мой код на отдельные файлы и по-прежнему использовать их в моем расширении?
Например, если мой файл extension.js структурирован, как показано в следующем примере, я бы хотел, чтобы функции f1 и f2 находились в отдельном файле, который я могу загрузить в расширение:
appAPI.ready(function($) {
init();
f1();
f2();
...
function init() {
// init code
...
}
function f1() {
//hundreds of lines of code
}
function f2() {
//hundreds of lines of code
}
...
});
1 ответ
Вы можете определить функции в одном или нескольких файлах ресурсов (например, init.js, functions.js) и затем включить их из appAPI.ready. Для получения дополнительной информации о ресурсах см. AppAPI.resources.
Итак, используя ваш пример, ваш код будет выглядеть примерно так:
extension.js:
appAPI.ready(function($) {
appAPI.resources.includeJS('init.js');
appAPI.resources.includeJS('functions.js');
init();
f1();
f2();
...
});
init.js:
function init() {
// init code
...
}
functions.js:
function f1() {
//hundreds of lines of code
}
function f2() {
//hundreds of lines of code
}
[Раскрытие информации: я сотрудник Crossrider]