~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 948973F68AA7ABDF18AD8EAAFA5F6B5B__1712124240 ✰
Заголовок документа оригинал.:
✰ Minification (programming) - Wikipedia ✰
Заголовок документа перевод.:
✰ Минификация (программирование) — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Minification_(programming) ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/94/5b/948973f68aa7abdf18ad8eaafa5f6b5b.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/94/5b/948973f68aa7abdf18ad8eaafa5f6b5b__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 09:40:06 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 3 April 2024, at 09:04 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Минификация (программирование) — Википедия Jump to content

Минификация (программирование)

Из Википедии, бесплатной энциклопедии

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

Минификацию можно отличить от более общей концепции сжатия данных тем, что минифицированный источник можно интерпретировать немедленно, без необходимости этапа распаковки: один и тот же интерпретатор может работать как с исходным, так и с минимизированным исходным кодом.

Цели минимизации не совпадают с целями запутывания ; первый часто предназначен для переворачивания с помощью красивого принтера [ нужна цитата ] или минификатор. Однако для достижения своих целей минификация иногда использует методы, также используемые при обфускации ; например, сокращение имен переменных и рефакторинг исходного кода . Когда при минификации используются такие методы, симпатичный принтер или унминификатор могут полностью обратить процесс минификации только в том случае, если ему предоставлены подробности преобразований, выполненных с помощью таких методов. Если не предоставить эти данные, обратный исходный код будет содержать другие имена переменных и поток управления, даже если он будет иметь ту же функциональность, что и исходный исходный код .

Пример [ править ]

Например, JavaScript код

// Это комментарий, который будет удален минификатором 
 var   array   =   []; 
  для   (  вар   я   знак равно   0  ;   я   <   20  ;   я  ++  )   { 
   массив  [  я  ]   знак равно   я  ; 
  } 

эквивалентно, но длиннее, чем

for  (  var   a  =  [],  я  =  0  ;  я  <  20  ;  a  [  я  ]  =  я  ++  ); 

История [ править ]

В 2001 году Дуглас Крокфорд представил JSMin , [1] который удалил комментарии и пробелы из кода JavaScript. [2] За ним последовал YUI Compressor в 2007 году. [2] В 2009 году Google открыл свой набор инструментов Closure, в том числе Closure Compiler , который содержал функцию сопоставления исходного кода вместе с расширением Firefox под названием Closure Inspector. [3] В 2010 году Михай Базон представил UglifyJS , который в 2012 году был заменен UglifyJS2; переписывание должно было обеспечить поддержку исходных карт. [4] С 2017 года Алекс Лам взял на себя обслуживание и разработку UglifyJS2, заменив его на UglifyJS3, который объединил CLI с API. [5] В 2018 году Terser был отделен от uglify-es. [6] [7] и с тех пор набирает обороты; в 2020 году он опередил UglifyJS по количеству ежедневных загрузок. [8]

Сопоставление источников [ править ]

Карта исходного кода — это формат файла , который позволяет программным инструментам для JavaScript отображать пользователю код, отличный от кода, фактически выполняемого компьютером. Например, чтобы облегчить отладку минимизированного кода, вместо этого «сопоставьте» этот код с исходным неминифицированным исходным кодом .

Исходный формат был создан Джозефом Шорром в рамках проекта минификации Closure Inspector. [9] Версия 2 и 3 формата значительно уменьшила размер файлов карт. [9]

Типы [ править ]

Инструменты [ править ]

Visual Studio Code поддерживает минификацию для нескольких языков. Он может легко просмотреть Visual Studio Marketplace, чтобы загрузить и установить дополнительные минификаторы.

Оптимизаторы JavaScript могут минимизировать и генерировать исходные карты. Кроме того, некоторые онлайн-инструменты могут сжимать файлы CSS . [10]

Веб-разработка [ править ]

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

Ресурсы JavaScript и каскадной таблицы стилей (CSS) можно минимизировать, сохранив их поведение и значительно уменьшив размер файлов. Библиотеки, доступные в Интернете, способны в разной степени минимизировать и оптимизировать. Некоторые библиотеки также объединяют несколько файлов сценариев в один файл для загрузки клиентом. Карты исходного кода JavaScript могут сделать код читабельным и отлаживаемым даже после того, как он был объединен и минимизирован. [11]

Ссылки [ править ]

  1. ^ Крокфорд, Дуглас (11 сентября 2001 г.). «JSMin: минимизатор JavaScript» . Крокфорд.com . Самостоятельно опубликовано . Архивировано из оригинала 5 апреля 2002 года.
  2. ^ Перейти обратно: а б «Минификация кода» . веб-платформа.github.io . Проект веб-платформы. Архивировано из оригинала 24 апреля 2016 года.
  3. ^ Пол, Райан (6 ноября 2009 г.). «Google открывает свой набор инструментов для разработки JavaScript для всех» . Арс Техника .
  4. ^ Базон, Михай (8 ноября 2012 г.). «Стоит ли вам перейти на UglifyJS2?» . lisperator.net . Самостоятельно опубликовано .
  5. ^ «uglify-js NPM» . npmjs.com . 6 мая 2017 г.
  6. ^ "terser · Набор инструментов для обработки и сжатия JavaScript для ES6+" . terser.org . Проверено 29 января 2023 г.
  7. ^ https://github.com//terser/commit/3ef6879ecafd12b57e575ec85e6104e71d5a1b6f [ только URL ] [ мертвая ссылка ]
  8. ^ «Терсер против uglify-js» . Тенденции НПМ . Архивировано из оригинала 27 января 2024 года.
  9. ^ Перейти обратно: а б «Предложение 3-й редакции исходной карты» . 11 января 2011 года. Архивировано из оригинала 26 ноября 2014 года . Проверено 16 апреля 2016 г.
  10. ^ Мегида, Диллион (18 мая 2022 г.). «Минификация CSS — объяснение минимизации и сжатия CSS» . Лагерь бесплатного кода . Проверено 29 марта 2024 г.
  11. ^ Седдон, Райан (21 марта 2012 г.). «Введение в карты исходного кода JavaScript» . HTML5 рок . Архивировано из оригинала 28 декабря 2021 года.
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 948973F68AA7ABDF18AD8EAAFA5F6B5B__1712124240
URL1:https://en.wikipedia.org/wiki/Minification_(programming)
Заголовок, (Title) документа по адресу, URL1:
Minification (programming) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)