Что лучший способ состоит в том, чтобы упаковать код JavaScript, не получая дефекты производительности?

Метод Object.keys() возвращает массив собственных перечислимых свойств данного объекта. Подробнее о нем здесь

var p = {
    "p1": "value1",
    "p2": "value2",
    "p3": "value3"
};

Object.keys(p).map((key)=> console.log(key + "->" + p[key]))

6
задан Cœur 5 December 2018 в 05:38
поделиться

8 ответов

Используйте JSMin и избегайте упаковщика, который является действительно большим количеством потребления ЦП и медленнее "выкачивать"

5
ответ дан 8 December 2019 в 05:59
поделиться

Используйте компрессор YUI

9
ответ дан 8 December 2019 в 05:59
поделиться

Можно попробовать различные инструменты в JavaScript CompressorRater. Все инструменты кроме упаковщика не оказывают влияния на то, как быстро JavaScript выполняется насколько я знаю - они только удаляют пробелы, переименовывает переменные и такой.

Я сам полагаю, что Компрессор YUI лучший.

Всегда полезно проверить код в JSLint сначала, чтобы быть уверенным, что компрессор понимает это правильно.

1
ответ дан 8 December 2019 в 05:59
поделиться

Мы использовали js_compactor и JavaScriptLint, чтобы "скомпилировать" и сжать наш JavaScript в нашем автоматизированном процессе сборки. Дальнейший шаг сборки взял бы сжатие JavaScript и связанные с объединением файлы в единственный пакет. Повышение производительности было значительным, но знать, что Вы отсутствуете, торгуя способностью отладить.

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

3
ответ дан 8 December 2019 в 05:59
поделиться

Я полагаю, что Safari на iPhone поддерживает вывод gzip, таким образом, Вы могли использовать что-то как mod_deflate. У меня были лучшие результаты с помощью этого метода. Довольно мало материал сжатия JavaScript там является абсолютным мусором и занимает больше времени для распаковки, чем он делает для загрузки большего файла. JSMin выглядит довольно хорошим, все же.

1
ответ дан 8 December 2019 в 05:59
поделиться

Я люблю ShrinkSafe. Это интерпретирует Ваш код у Носорога, затем это возвращает сжатый код. Поскольку это воздействует на реальный интерпретируемый код (вместо сложных строковых оценок), это никогда не будет munge код или не удаваться найти различия между общедоступными и частными переменными.

Это - инструмент превосходного качества.

3
ответ дан 8 December 2019 в 05:59
поделиться

Удостоверяясь Ваш веб-сервер правильно служит материалу gzipped/deflated, когда поддержки клиентов это обычно более эффективно, чем уменьшение самого кода программы. Конечно, использование обоих имеет тенденцию давать еще меньшие размеры.

0
ответ дан 8 December 2019 в 05:59
поделиться

Я просто прошел этот небольшой танец за последние несколько дней. Мы попытались использовать Packer, но нашли, что наш упакованный JavaScript принимал 2 секунды для выполнения (не говоря уже о блокировании других загрузок). На основе этой статьи мы переключились на Компрессор YUI. Не только наши gzipped размеры файла, меньшее, время выполнения находится под 300 мс.

0
ответ дан 8 December 2019 в 05:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: