Использование Microsoft Ajax Minifier с проектом веб-установки и системой контроля версий - PullRequest
2 голосов
/ 22 февраля 2010

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

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

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

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

  1. Требуется, чтобы я вручную добавлял каждый уменьшенный js-файл в проект веб-установки вручную
  2. Ведение копии соответствующей структуры каталогов как в проекте веб-приложения, так и в проекте веб-установки
  3. Не забудьте добавить новые минимизированные версии js-файлов в проект веб-установки.

Есть ли лучший способ сделать это?

Ответы [ 2 ]

1 голос
/ 26 июля 2010

Решением, которое я в итоге выбрал, было включение библиотеки минификаторов в мой проект и создание обработчика (.ashx), которым я заменил все ссылки на файлы .js, поэтому:

<script src="MyJsFile.js" type="text/javascript"></script>

заменяется на

<script src="Minifier.ashx?file=MyJsFile.js" type="text/javascript"></script>

У меня есть файл конфигурации в моем файле web.config, который позволяет мне определить, будут ли файлы сценариев минифицированы или нет.

0 голосов
/ 08 марта 2010

Использование Microsoft Ajax Minifier с контролем источника

Microsoft Ajax Minifier генерирует минимизированные файлы JavaScript и CSS как вывод процесса сборки. По этой причине мы рекомендуем вам обрабатывать минимизированные файлы точно так же, как вы бы справились с сборки, сгенерированные сборкой процесс. В частности, мы рекомендуем что вы не включаете минимизированный файлы в вашем проекте Visual Studio и что ты не проверяешь минимизированный файлы в систему контроля версий.

Если вы включите минимизированные файлы в ваш проект, и вы используете источник контроль, тогда вы столкнетесь проблемы. Когда файлы извлекаются контроля источника, они проверены с их атрибутами только для чтения задавать. Если вы пытаетесь сделать сборку, Microsoft Ajax Minifier будет генерировать ошибка при попытке записи в файл только для чтения.

источник: Microsoft

Насколько я понимаю, это означает, что не нужно добавлять файлы -min в проект, вот и все. Когда IIS создаст приложение, оно создаст файлы автоматически. Я думаю, у вас должен быть установлен Microsoft Minifier 4.0 на веб-сервере.

...