Переопределить поведение минимизации в Web Essentials 2012

У меня есть Visual Studio 2012 с установленным Web Essentials 2012, и я использую его для минимизации файлов javascript. Затем я использую Telerik ScriptRegistrar для создания пакетов на лету.

При развертывании для тестирования мы обнаружили проблему, из-за которой Web Essentials удаляет последнюю точку с запятой из каждого файла, что приводит к недопустимому javascript. Причина, по которой последняя точка с запятой присутствует, заключается в том, что при объединении файлов браузер не интерпретирует первую строку любого подключаемого модуля jquery как часть последней строки предыдущего файла. Обычно это происходит, когда предыдущий файл заканчивается сокращением jQuery для document.ready, например:

$(function () {
    alert('This bloody code will break if the next file contains a plug in');
});

Всякий раз, когда это происходит в пакете, браузер выдает исключение довольно рано в жизненном цикле страницы, и ни один из javascript на странице не загружается.

Кто-нибудь знает, как помешать Web Essentials 2012 удалить последнюю точку с запятой? В качестве альтернативы, есть ли что-то еще, что мы можем сделать с нашими сценариями, чтобы они не затирали друг друга?


person Doug    schedule 13.11.2012    source источник
comment
Пробовали ли вы удвоить точку с запятой или добавить что-то безобидное, например неиспользуемое объявление var, в начало или конец файлов?   -  person Jude Fisher    schedule 14.11.2012


Ответы (1)


Это будет исправлено в Web Essentials 1.9, но вы можете получить исправление уже сейчас из последней сборки: http://madskristensen.net/custom/webessentials2012.vsix?1.8.9.1

person Mads Kvist Kristensen    schedule 23.11.2012
comment
Очевидно, это ответ. Мне просто интересно, следует ли мне вместо этого закрыть вопрос, поскольку сейчас он бесполезен. - person Doug; 26.11.2012