У меня есть 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 удалить последнюю точку с запятой? В качестве альтернативы, есть ли что-то еще, что мы можем сделать с нашими сценариями, чтобы они не затирали друг друга?