Я программно создаю файлы javascript из веб-приложения .NET и хотел бы его минимизировать, прежде чем передавать его пользователю? Есть ли библиотека или техника для этого на лету?
Спасибо
Я программно создаю файлы javascript из веб-приложения .NET и хотел бы его минимизировать, прежде чем передавать его пользователю? Есть ли библиотека или техника для этого на лету?
Спасибо
Если вы просто хотите уметь минимизировать строку javascript на С#, прежде чем сохранять ее в файл, я бы использовал либо MS Ajax Minifier, либо компрессор YUI для .net. Оба из них предоставляют API, который позволяет вам это делать. Вот пример с использованием ajax minifier:
var minifier = new Microsoft.Ajax.Utilities.Minifier();
var minifiedString = minifier.MinifyJavaScript(unMinifiedString);
Использование компрессора YUI для .net:
var minifiedString = JavaScriptCompressor.Compress(unMinifiedString);
Оба библиотеки ajax minifier и YUI Compressor доступны через Nuget.
Почему бы не использовать javascript-написанный minifier непосредственно в .NET(попробуйте, если он работает как код JScript). Uglify.js приходит на ум...
Мы используем порт С# для JSMIN: http://www.koders.com/csharp/fidC8F76D32D2FB3B213046C30CD8B362820FFFD604.aspx?s=file#L15
Это работает очень хорошо.
Я использую это вручную.
http://dean.edwards.name/packer/
i компактный файл, загрузка, а затем отменить пакет, поэтому у меня нет исходного кода. я только производственный код.
Хорошо, я бы подумал, что вам нужно сделать три вещи, чтобы минимизировать файл script:
Все они относительно просты в замене во время выполнения, но будут немного писать код. Для переменной укорочения найдите в своей области переменные, длина которых больше, чем, скажем, 2 буквы. Затем сократите и выполните это в блоке кода (область действия переменной).
Удаление комментариев будет простым. Удаление пробелов также легко. Для одиночной линии найдите //
и удалите до возврата каретки/новой строки. Пробелы, замените вкладки пробелом, несколькими пробелами с пробелом, а каретки возвращают/обновляют каналы с пробелом.
Вы можете использовать Closure Compiler, но я бы не рекомендовал вам делать мини файлы каждый раз, когда пользователь посещает ваш сайт. Гораздо лучше собрать все файлы перед развертыванием новых коммитов. Взгляните на в этой статье о инструментах.