Когда генерировать пакеты JavaScript?

В настоящее время мы объединяем и минимизируем наши отдельные файлы JavaScript в один пакет локально - используя Chirpy - и затем проверяем пакет в управлении версиями (мы используем TFS с проверками Gated).

Затем наш установщик развертывает этот пакет.

Но это вызывает ряд проблем:

  • Можно ли проверить в комплекте, который не соответствует исходным файлам.
  • у нас есть проблемы слияния с нашим "Gated Checkin". Потому что, если два набора изменений в очереди регистрации оба содержат новый пакет, второе всегда будет конфликтовать с первым.

У нас есть пара других идей: установщик может генерировать пакеты во время развертывания, или сервер может генерировать пакеты во время выполнения как процесс запуска.

Но, безусловно, это общая проблема, какова лучшая практика?

1 ответ

Решение

"Лучшая практика" - страшная фраза, потому что люди часто используют ее как клуб для защиты своих личных предпочтений.

Оба решения хороши и лучше, чем нынешняя система. Какой из них лучше, зависит от контекста:

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

Сервер может генерировать пакеты во время выполнения как процесс запуска: это дает преимущество, заключающееся в том, что код JavaScript можно заменять или настраивать непосредственно в развернутой системе, не проходя этап сборки. Это позволяет быстро исправлять ошибки или улучшать вещи. Недостатком является то, что этот вид деятельности приводит к созданию работающей системы, которая не находится в тесной связи с хранилищем, что делает отладку и обновление болезненными и подверженными ошибкам. Я лично думаю, что это страшно допустить.

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