Использование Microsoft Ajax Minifier с проектом веб-установки и управлением исходным кодом
Я только начал исследовать Microsoft Ajax Minifer 4.0 для использования с веб-приложением Visual Studio 2008, над которым я работаю. Было доказано, что достаточно легко подключить его к файлу.csproj, чтобы он создавал файлы.min.js для всех сценариев, однако я озадачен тем, как интегрировать это с проектом веб-установки и системой контроля версий.
По сути, я хочу, чтобы результирующие файлы.min.js были включены в проект веб-установки без их включения в систему управления версиями, потому что:
- Необходимость проверить их перед выполнением сборки - это боль (минификатор не может изменить их, если они не извлечены).
- Поскольку они созданы как "артефакт сборки", кажется неправильным хранить их под контролем исходного кода.
Единственный вариант, который мне удалось найти, - это явное включение файлов.min.js в состав проекта установки, щелкнув правой кнопкой мыши проект Web Setup и выбрав "Добавить> Файл", а затем выбрав соответствующую папку. иерархия продублирована в "Файловая система на целевой машине", чтобы я мог принудительно переместить файл в нужное место. Это не элегантно, не просто и не надёжно, как:
- Требуется, чтобы я вручную добавлял каждый уменьшенный js-файл в проект Web Setup вручную
- Сохранение копии соответствующей структуры каталогов как в проекте веб-приложения, так и в проекте веб-установки
- Не забудьте добавить любые новые уменьшенные версии файлов js в проект веб-установки
Есть ли лучший способ сделать это?
2 ответа
Решение, которое я в итоге выбрал, заключалось в том, чтобы включить в мой проект библиотеку минификаторов и создать обработчик (.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 Minifier с контролем версий
Microsoft Ajax Minifier генерирует уменьшенные файлы JavaScript и CSS в качестве выходных данных процесса сборки. По этой причине мы рекомендуем обрабатывать минимизированные файлы точно так же, как вы работаете со сборками, созданными в процессе сборки. В частности, мы рекомендуем не включать минимизированные файлы в проект Visual Studio и не проверять минимизированные файлы в системе контроля версий.
Если вы включите минимизированные файлы в свой проект и используете управление исходным кодом, тогда у вас возникнут проблемы. Когда файлы извлекаются из системы контроля версий, они извлекаются с установленными для них атрибутами только для чтения. Если вы попытаетесь выполнить сборку, Microsoft Ajax Minifier выдаст ошибку при попытке записи в файл только для чтения.
источник: Microsoft
Насколько я понимаю, это означает, что не нужно добавлять файлы -min в проект, вот и все. Когда IIS создаст приложение, оно создаст файлы автоматически. Я думаю, что вы должны иметь Microsoft Minifier 4.0 для установки на веб-сервере, хотя.