Обратите внимание, что этот вопрос должен быть немного больше на стороне теории субъекта, но, кроме того, чтобы удалить пробелы, какие другие методы используются для JavaScript Compression?Какие методы используют библиотеки сжатия JavaScript для минимизации размера файла?
ответ
Большинство компрессоров используют комбинацию различных методов:
- вскрышных пробелы
- компресс файл компрессионным (GZIP алгоритму, выкачать)
- большую часть пространства сохраняется переименование interall переменных и функции в более короткие имена, например:
Эта функция:
function func (variable) {
var temp = 2 * variable;
return temp;
}
станут:
function func (a) {
var b = 2 * a;
return b;
}
- Дин Эдвардс packer использует некоторое внутреннее сжатие. Сценарий распаковывается, загружается на страницу.
- Все обычные вещи, чтобы сделать programmcode короче:
- удалить неиспользуемый код
- подстановку функций
Я могу назвать несколько, которые находятся в Google Web Toolkit компилятора:
- Инлайн метод вызывает
- Мертвый код элиминации
- Переменная переименованием/источник запутывания
- это означает переписывание длинные переменные до коротких и т. д.
Практически все они требуют разбора Javascript (т.е. они работают за пределами чистого лексического анализа).
Это мертвая часть коды пугает меня, как же GWT знает, что код мертв, когда JS имеет глобальный масштаб? Или GWT предназначен для компиляции всего вашего JS сразу и не работает, если вы выполняете его только в одном из нескольких JS-файлов? –
GWT - монолитный компилятор, поэтому, добавив некоторые ограничения на то, что вы можете сделать в java, он может точно определить, вызван ли метод или нет (аналогично тому, что вы можете сделать с eclipse ide). –
Off верхней части моей головы ...
- размечает локальные переменные, а затем переименовывает их в переменную минимально размера.
- Удаляет тонны пробелов.
- Удаляет ненужные фигурные скобки (например, выполнение одной строки после того, как операторы if могут удалить фигурные скобки и добавить одну точку с запятой).
- Удаляет ненужные полуколоны (например, прямо перед конечной скобкой «}»).
Моя наиболее часто используемых Minifier является YUI Compressor и as they state, это с открытым исходным кодом, так что вы можете посмотреть сами на то, что они делают. (Я не уверен, что они подразумевают под «микро-оптимизаций», вероятно, куча редких случаев, которые получают вам символ или два.)
код переименование и изменение порядка, так что GZIP компрессор будет иметь лучший результат.
к примеру (не очень умного)
исходного код:
function mul(mul1, mul2)
{
return mul1 * mul2;
}
function print(str)
{
// do something
}
function add(add1, add2)
{
return add1 + add2;
}
изменить код:
function mul(a,b)
{
return a * b;
}
function add(a, b)
{
return a + b;
}
function print(str)
{
// do something
}
- 1. Какие аргументы размера используют функцию минимизации в SciPy (Python)?
- 2. Какие дополнительные библиотеки необходимы для сжатия клиента?
- 3. Библиотеки сжатия для Ruby?
- 4. Какие библиотеки GUI используют OpenOffice?
- 5. Что вы используете для минимизации и сжатия библиотек JavaScript?
- 6. Алгоритм сжатия jpeg для достижения заданного размера целевого изображения
- 7. Методы сжатия данных
- 8. Какие библиотеки ускорения используют преимущества семантики перемещения
- 9. Методы программирования для уменьшения размера текстового файла
- 10. Какие хорошие библиотеки для сжатия двоичных данных Java?
- 11. Какие методы используют вики для слияния параллельных изменений?
- 12. Какие методы используют тестеры UX для тестирования веб-сайтов?
- 13. Каковы методы сжатия?
- 14. Методы сжатия PDF
- 15. Какие существуют автономные инструменты сжатия JavaScript?
- 16. Какие алгоритмы используют SQL?
- 17. Есть ли какие-либо библиотеки Free/Open source для сжатия видеофайла/уменьшения размера файла видео в android?
- 18. Библиотеки субмодулей в git для минимизации избыточности
- 19. Есть ли какие-либо настройки для сжатия сжатия размера БД в 64-битном mongoDB?
- 20. Какие методы вызывается при изменении размера JFrame?
- 21. g ++ флаг компилятора для минимизации двоичного размера
- 22. Asp.net javascript и css библиотеки сжатия/библиотеки файлов
- 23. Какие методы блокируются в Javascript?
- 24. Какие библиотеки HTML для PDF обрабатывают javascript?
- 25. JavaScript и __proto__ - какие браузеры используют его?
- 26. NET библиотеки сжатия файлов
- 27. Есть ли утилита для оценки размера файла после сжатия?
- 28. Определить тип сжатия файла
- 29. Prediciting time или коэффициент сжатия для сжатия без сжатия файла?
- 30. Есть ли какие-либо инструменты или методы для удаления пробелов из файла (javascript) или уменьшения размера файла?
Будет: функция f (a) {return 2 * a;};) от 72 символов до 27 –
, если вы хотите использовать func для глобальной области javascript, я бы оставил имя как есть ... ;-) – TheHippo