Отключение оптимизации скриптов в SquishIt

В текущем проекте для оптимизации JavaScript и CSS была выбрана небольшая библиотечка SquishIt, которая вполне неплохо справлялась со своей обязанностью. Однако после очередных изменений JavaScript, приложение перестало находить локальную переменную. Оказывается SquishIt при сжатии библиотек также проверяет код на валидность, а именно вызываются ли методы и переменные. Не найдя код, который использовал локальные переменные, он их не включил в скрипт. С одной стороны, это хорошо, т.е. все лишнее что разработчик забыл убрать за него уберет библиотека оптимизации.

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

var nameOfLocalVar = eval(firstPart + "Name");

Как вариант решения проблемы в конфигурации Bundle для добавления скрипта использовал метод AddMinified(string filePath) который считает, что мы добавляем уже оптимизированный js-файл и не проводит никаких оптимизаций.

Bundle.JavaScript()
		.AddMinified("~/script.js")
		.AsCached("script");

Комментарии

Оставить комментарий