2011-12-31 2 views
3

Я использую PhoneGap для создания приложения с поддержкой html 5, и я хотел бы использовать haml, sass и coffee-script. Есть ли способ построить крючок для процесса сборки в xcode 4.2, чтобы файлы были скомпилированы в HTML, CSS и Javascript?Компиляция haml, sass & coffeescript на сборке xcode с помощью PhoneGap

Я новичок в xcode и все еще пытаюсь выяснить эти сложные настройки сборки. Спасибо за вашу помощь.

ответ

3

Да, то, что вы описываете, является частью так называемой фазы сборки (ref docs here).

После выбора цели в вашем проекте вы можете добавить «Запустить скрипт» целевой, который скомпилирует все ваши пользовательские типы контента во время сборки. Поскольку вы можете указать «оболочку» (на самом деле это любой интерпретатор), вы можете записать ее (почти) на любом языке, который вы хотите.

Некоторые советы:

  • Там же переменная окружения называется $PROJECT_DIR, содержащий абсолютный путь к вашему XCode проекта. Вы хотите использовать его (например, $PROJECT_DIR/www указывает на папку www).

  • Положите сценарий запуска как можно раньше на этапе сборки, поскольку другие фазы могут зависеть от сгенерированного содержимого.

  • Я настоятельно рекомендую создать фазу «Запускать сценарий» в качестве исполняемого файла в вашем VC и использовать скрипт вставки для загрузки скрипта в вашем VC.

  • rsync - лучший (и самый быстрый) способ зеркалирования другого каталога, не зная подробностей его содержимого. Особенно полезно для этой задачи - это --delete флаг для удаления удаленных файлов. Если вы можете запустить XCode 4.2, он уже присутствует в вашей системе.

  • В конце концов внешний наблюдатель сценарий (например, guard, coffee --watch, compass --watch), который выводит их результаты могут быть столь же эффективными, как фазы сборки запуска сценария.

+0

Спасибо Джейкоб. Я закончил реализацию Guard с отдельной директорией src. Я нашел это хорошим способом сохранить файлы, которые чаще всего редактировались отдельно от файлов, скомпилированных iOS и html. – chrishomer

+0

Добро пожаловать! Я часто пытаюсь построить сценарий сценария сборки, но всегда кажется, что что-то не работает совершенно правильно, и я возвращаюсь к наблюдателям, которые вместо этого вводят источники, как вы описываете. –

1

Я недавно написал blog post об этом. Моей рекомендацией было бы использовать звездочки со стойким сервером. Sprockets - лучший способ управления активами, а сервер стойки облегчает быстрое развитие через ваш настольный браузер.

Смежные вопросы