Как движок JavaScript понимает минимизированные JS-скрипты? - PullRequest
3 голосов
/ 25 мая 2011

обычно, если открытый текст сжат, должна быть процедура распаковки. Как движок js интерпретирует сжатые сжатые js-скрипты ??

Есть ли в движке js встроенные алгоритмы деминификации ??

Ответы [ 4 ]

6 голосов
/ 25 мая 2011

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

4 голосов
/ 25 мая 2011

Во-первых, вы должны понимать, что существует разница между минимизацией и сжатием.

1. Минификация не сжимает

Минификация - это процесс сокращения JavaScript до как можно меньшего числа байтов путем удаления лишних пробелов, изменения имен переменных на более короткие и т. Д. Кодировка и символы файла остаются неизменными. Поскольку минимизированный файл фактически не меняет кодировку или функциональность, для конвертации файла ничего не требуется, поскольку на самом деле ничего не изменилось.

2. Сжатие изменяет файл

Когда вы сжимаете файл, скажем, с помощью gzip, вы перекодируете данные файла или потока в другую кодировку, которая занимает меньше места. Именно в этом случае требуется процедура распаковки, чтобы перевести файл обратно в его несжатое состояние. При распаковке файл возвращается в исходное состояние.

3. Браузеры используют комбинацию сжатия и минимизации для достижения максимально возможной ширины полосы пропускания.

Что хорошо в минимизации и сжатии, так это то, что они являются двумя отдельными процессами, которые выполняют две разные функции, и их можно объединить, чтобы доставить как можно меньший файл в браузер. Например, исходный исходный код jQuery сейчас имеет размер более 200 КБ, но благодаря минификации и доставке сжатых файлов для доставки в браузер требуется всего около 30 КБ.

2 голосов
/ 25 мая 2011

Сокращенный javascript все еще является javascript.Думайте об этом как об удалении пробела и переименовании длинной переменной в более короткую.

1 голос
/ 25 мая 2011

Сокращенный JavaScript - это просто тот же код, но сокращенный (например, var foobar = 2, возможно, перед var a = 2;)

GZipped файлы JavaScript (и другие статические файлы) действительно сжаты и действительно получаютраспаковывается клиентским компьютером до того, как механизм его использует.

Браузер идентифицирует серверу, что он может получить доступ к заархивированному содержимому, используя заголовок, подобный

Accept-Encoding: gzip, deflate

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...