Использование Microsoft Ajax Minifier с проектом веб-установки и управлением исходным кодом

Я только начал исследовать Microsoft Ajax Minifer 4.0 для использования с веб-приложением Visual Studio 2008, над которым я работаю. Было доказано, что достаточно легко подключить его к файлу.csproj, чтобы он создавал файлы.min.js для всех сценариев, однако я озадачен тем, как интегрировать это с проектом веб-установки и системой контроля версий.

По сути, я хочу, чтобы результирующие файлы.min.js были включены в проект веб-установки без их включения в систему управления версиями, потому что:

  1. Необходимость проверить их перед выполнением сборки - это боль (минификатор не может изменить их, если они не извлечены).
  2. Поскольку они созданы как "артефакт сборки", кажется неправильным хранить их под контролем исходного кода.

Единственный вариант, который мне удалось найти, - это явное включение файлов.min.js в состав проекта установки, щелкнув правой кнопкой мыши проект Web Setup и выбрав "Добавить> Файл", а затем выбрав соответствующую папку. иерархия продублирована в "Файловая система на целевой машине", чтобы я мог принудительно переместить файл в нужное место. Это не элегантно, не просто и не надёжно, как:

  1. Требуется, чтобы я вручную добавлял каждый уменьшенный js-файл в проект Web Setup вручную
  2. Сохранение копии соответствующей структуры каталогов как в проекте веб-приложения, так и в проекте веб-установки
  3. Не забудьте добавить любые новые уменьшенные версии файлов 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 для установки на веб-сервере, хотя.

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