Использование Microsoft Ajax Minifier с Web Setup project & Source Control
-
22-09-2019 - |
Вопрос
Я только начал расследовать Microsoft Ajax Минифер 4.0 для использования с веб-приложением Visual Studio 2008, над которым я работаю.Оказалось достаточно просто подключить его к файлу .csproj, чтобы он создал .min.js файлы для всех сценариев, однако я в тупике относительно того, как интегрировать это с проектом Web Setup и системой управления версиями.
По сути, то, что я хочу сделать, это получить результирующий результат .min.js файлы, включенные в проект Web Setup, без их включения в систему управления версиями, потому что:
- Необходимость проверять их перед выполнением сборки является проблемой (минификатор не может изменить их, если они не извлечены).
- Поскольку они созданы как "артефакт сборки", это просто кажется неправильно чтобы они хранились под управлением версиями.
Единственный вариант, с которым мне пока удалось столкнуться , - это явно включить .min.js файлы как часть проекта установки, щелкнув правой кнопкой мыши на проекте веб-установки и выбрав "Добавить> Файл", а затем продублировав соответствующую иерархию папок в "Файловой системе на целевой машине", чтобы я мог принудительно поместить файл в правильное местоположение.Это не является ни элегантным, ни простым / надежным, поскольку:
- Это требует, чтобы я вручную добавлял каждый уменьшенный js-файл в проект Web Setup вручную
- Поддерживайте копию соответствующей структуры каталогов как в проекте веб-приложения, так и в проекте веб-настройки
- Не забудьте добавить любые новые файлы js, уменьшенные версии, в проект Web Setup
Есть ли лучший способ сделать это?
Решение
Решение, которое я в конечном итоге выбрал, состояло в том, чтобы включить minifier DLL в мой проект и создать обработчик (.ashx), которым я заменил все ссылки на файлы .js, так что:
<script src="MyJsFile.js" type="text/javascript"></script>
Заменяется на
<script src="Minifier.ashx?file=MyJsFile.js" type="text/javascript"></script>
У меня есть настройка конфигурации в моем web.config
файл, который позволяет мне определить, сокращены ли файлы скриптов или нет.
Другие советы
Использование минификатора Microsoft Ajax с системой управления версиями
Минификатор Microsoft Ajax генерирует уменьшенные файлы JavaScript и CSS в качестве выходных данных процесса сборки.По этой причине, мы рекомендуем Вам ручка минимизированные файлы в Ровно точно так же, как вы бы справиться с сборки, созданные построить процесс.В частности, мы рекомендуем не включать уменьшенные файлы в свой проект Visual Studio и не проверять уменьшенные файлы в системе управления версиями.
Если вы включите уменьшенные файлы в свой проект и будете использовать исходный код control, то вы столкнетесь с проблемами.Когда файлы извлекаются из системы управления версиями, они извлекаются с их атрибутами, доступными только для чтения установлено.Если вы попытаетесь выполнить сборку, Минификатор Microsoft Ajax сгенерирует ошибку при попытке записи в файл, доступный только для чтения.
Источник : Майкрософт
Насколько я понимаю, это означает, что не добавляйте файлы -min в проект, вот и все.Когда IIS соберет приложение, оно автоматически создаст файлы.Я думаю, что у вас должен быть Microsoft Minifier 4.0, который должен быть установлен на веб-сервере tho.