Несколько файлов вместо одного файла extension.js при использовании crossrider?

Я хотел бы портировать расширение для Chrome с помощью crossrider. Я также хотел бы поддерживать разные файлы расширения js вместо одного гигантского файла extension.js.

Я предполагаю, что могу добавить файлы расширения js как «Ресурсы».

Это правильно?

Будут ли функции js, добавленные в файлы ресурсов, автоматически доступны в файле extension.js или мне нужно уточнить пути?

Или есть файл манифеста, к которому я могу получить доступ и изменить, чтобы сообщить crossrider, что у меня есть несколько страниц расширения?

Спасибо!


person Cygorger    schedule 17.10.2013    source источник


Ответы (1)


Используя ресурсы, вы можете поддерживать такие файлы, как js, css, html, изображения и т. д., и включать их по мере необходимости. Вы даже можете поддерживать их в структуре папок, которая соответствует вашим потребностям. Для получения дополнительной информации см. appAPI.resources.

В вашем сценарии для включения файла ресурсов js в файл extension.js просто используйте appAPI.resources.includeJS, после чего код сразу же становится доступен в файле extension.js.

Например, если у вас есть файл ресурсов с именем script.js в папке с именем js, вы можете включить его следующим образом:

расширение.js:

appAPI.ready(function($) {
  appAPI.resources.includeJS('js/script.js');
  writeToConsole('Hellow World');
});

script.js в папке js:

function writeToConsole(msg) {
  console.log(msg);
}

Отказ от ответственности: я сотрудник Crossrider

person Shlomo    schedule 17.10.2013
comment
Спасибо за разъяснения! - person Cygorger; 18.10.2013
comment
@Shlomo, у меня есть расширение, которое отлично работает. Теперь я хочу организовать свой код в разных файлах, используемых в фоновом режиме, однако я видел в документах, что «appAPI.resources.includeJS» недоступен в фоновом режиме. Как я могу сделать? - person Diego; 13.03.2014
comment
В настоящее время для фоновой области мы предлагаем попробовать следующее, что работает в большинстве случаев: $.globalEval(appAPI.resources.get('js/script.js')); - person Shlomo; 13.03.2014