2015-02-06 2 views
9

Я создаю приложение в Кордове, которое я разрешаю другим клиентам торговать. Мне было интересно, есть ли способ иметь файл config.xml по умолчанию, а затем второй файл, который переопределяет значение по умолчанию с фирменными значениями. Есть довольно много значений, мне нужно переопределить, однако некоторые из более очевидны:Несколько файлов config.xml для cordova

  • идентификатор и версия атрибуты виджета
  • имя
  • описание
  • автор
  • значок (как я бы переопределить мультипликатор того же тега?)
  • всплеск

Если re не является способом Кордовы этого, есть ли Linux-инструмент, который я мог бы использовать для этой цели, который выводит мой единственный файл config.xml?

+0

не может помочь. Ищете решение самостоятельно. В конце концов, вероятно, сводится к созданию небольшого скрипта, который копирует/объединяет конфигурационные файлы клиента в/с 'config.xml', а затем запускает кордову с этим конфигурационным файлом. Файл конфигурации клиента содержит пути к конкретным изображениям клиента, имени и описанию. Простой скрипт node.js может объединить два файла XML через XSLT. – philk

+0

Вы нашли решение? или вы просто закончили писать сценарий –

+0

Я написал сценарий – philk

ответ

1

Лучший способ сделать это - создать отдельный проект для каждого экземпляра вашего приложения.

Вот как я бы решить эту проблему:

1.Create шаблон для файла config.xml.

2.Создание папки www (содержащей файлы вашего приложения) в том же каталоге, в котором вы создадите project_folders для каждого экземпляра приложения.

3.Create новые экземпляры приложения cordova create...

4.В каждый экземпляр скопировать шаблон config.xml поверх существующей и модифицировать для конкретного экземпляра.

5.Either скопировать папку www из каталога выше project_root в него, или удалить папку www из project_root и создать символическую ссылку на папку www в каталоге выше project_root.

Теперь у вас есть отдельные экземпляры приложения, все они имеют одинаковое содержимое www, но с пользовательскими config.xml файлами.

Пример Структура каталогов:

App_Name 
    \config.xml 
    \www 
    \{project_instance_1} 
    \{config replaced} 
    \www -> ../www 
    \{project_instance_2} 
    \{config replaced} 
    \www -> ../www 
+1

Я использую отдельный проект для каждого фирменного приложения, однако, если я хочу добавить/обновить параметр глобальной конфигурации, мне нужно отредактировать каждый config.xml и быть очень осторожно, чтобы не пропустить ни одного. Моя цель здесь состоит в том, чтобы иметь один главный файл конфигурации, а затем второй, который имеет только конфигурации для этого бренда, а не для того, чтобы поддерживать множество полных файлов конфигурации. – trex005

+0

Звучит очень сложно. Подумайте, почему CLI Cordova не содержит аргумента, чтобы указать 'config.xml' для использования. Это упростит просто конфигурационный файл для каждого клиента. – philk

+0

Любые обновления? @philk –