Автоматическая замена URL-адресов библиотеки JavaScript при развертывании - PullRequest
1 голос
/ 25 апреля 2011

Я создаю исключительно клиентское веб-приложение на основе JavaScript и собираюсь оптимизировать рабочий процесс для переключения на URL CDN для библиотек JavaScript, которые я использую на рабочем сервере.

Чтобы иметь возможность работать в автономном режиме, мой компьютер для разработки ноутбуков загружает все библиотеки из папки /js на локальном веб-сервере. При развертывании приложения я хочу заменить эти URL-адреса для использования CDN-версий библиотеки jQuery в Google, например. Поскольку серверной логики нет, я не могу проверить там что-то вроде Rails.env.production? как если бы это было приложение Rails.

Я выполняю развертывание, нажимая на git-репо на производственной машине и запуская хук пост-получения . Я полагаю, что мог бы запустить некоторую подпрограмму sed, которая переключает URL-адреса поверх обновления в том же сценарии после получения, но мне любопытно, может быть, нет более элегантного решения.

Самым простым было бы просто вставить клиентскую логику в приложение, чтобы проверить, какое имя хоста называется формой, но я бы хотел оставить это в качестве крайней меры.

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

Ответы [ 2 ]

1 голос
/ 25 апреля 2011

Вы хотите зафиксировать изменение с указателем на версию CDN в ветви, из которой вы будете публиковать.

Внесите изменения, которые будут иметь версию для разработки, в вашу ветку разработки.

Предполагая, что это единственный способ отличия ваших веток, объединитесь со "нашей" стратегией в обеих ветвях.

git merge -s ours mainbranch

Это гарантирует, что вы не получите этого изменения кода с того момента, когда вы объединяете или перебазируете.

надеюсь, это поможет.

0 голосов
/ 25 апреля 2011

Вы можете просто заставить хост CDN работать локально, добавив его в /etc/hosts.

Если это не вариант, используйте встроенный JavaScript, чтобы добавить теги <script src="..." в документ и добавить некоторую логику.решить, использовать CDN или нет в этом сценарии.

...