Следует ли минимизировать библиотеку, используемую исключительно пользовательскими скриптами? - PullRequest
0 голосов
/ 15 мая 2018

В моих пользовательских сценариях я часто @require пишу самодостаточную библиотеку JavaScript. Мне интересно, сколько нагрузки это генерирует. Загружается ли библиотека (повторно) каждый раз, когда выполняется пользовательский скрипт? Или он загружается только в первый раз, а затем кешируется? Будет ли минимизировать это значительную разницу?

Я посмотрел документы тампермонки , но они не вдавались в подробности по этому поводу. Они только утверждают, что библиотека "загружена и выполнена до запуска самого скрипта" .

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

1 Ответ

0 голосов
/ 15 мая 2018

Это вопрос мнения; и, увы, здесь, на «Переполнении стека», неодобрительно задаются вопросы, «основанные на мнении».

Кроме того, изменяются точные детали того, как часто проверяется скрипт. Но вот как это обычно / предполагается / используется для работы:

  1. Когда установлен скрипт , библиотека @require извлекается и сохраняется на диск (в настоящее время хранится как часть данных расширения в базе данных LevelDB).
  2. Когда строка @require изменяется , скрипт перезапускается.
  3. (¿Может быть?) Скрипт перезапускается, если обновляется сам скрипт (изменения версии)
  4. В свое время Tampermonkey мог загружать скрипт при каждом запуске скрипта?!
  5. Tampermonkey используется для извлечения @require d скриптов с file:// URL-адресами при каждом запуске в качестве помощи разработчикам. Но это перестало работать и не уверен, какой текущий статус.

Суть в том, что номинально необходимый файл (с URL-адресом вне машины) должен запускаться с диска или из кэша и быть очень быстрым.

Итак, компромиссы:

Не сворачивайте, потому что:

  • Обычно не имеет значения для производительности в сценарии пользователя.
  • Скрипты легче отлаживать.
  • Меньше шагов в процессе разработки / развертывания.

Свернуть, потому что:

  • Сценарий @require d имеет большую базу установки, и нагрузка на хост-сервер вызывает беспокойство.
  • Файл достаточно большой, чтобы минимизация могла сэкономить значительное пространство, скажем, 100 КБ.
  • Файл также используется "нормально" (например, по тегам <script>), поэтому пропускная способность гораздо важнее. (Не у всех есть высокоскоростные соединения и т. Д.)
  • Вы хотите, чтобы кому-то было сложнее "украсть" ваш драгоценный код. (Эта причина указана для полноты, я не рекомендую ее.)
...