Рефакторинг кода расширения 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]

Другие вопросы по тегам