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

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

Они дают вам более точные сообщения об ошибках или просто, если мы хотим что-то найти, мы можем просмотреть код несжатых файлов?

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

blog.stackpath.com/glossary/minification
31piy 02.05.2018 12:45

Вы говорите о сжатии или минификации?

IonicBurger 02.05.2018 12:47

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

Ry- 02.05.2018 12:47

@Ry, спасибо за ответ, он прояснил мой вопрос.

Zorro Here 02.05.2018 12:49
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
80
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

(function(_){var window=this,document=this.document;var ba,ea,fa,ha,la,na,oa,pa,qa,sa,ra,ta,wa,xa,za,Aa,Da,Ea,Fa,Ga,Ia;ba=function(a){return function(){return _.aa[a].apply(this,arguments)}};ea=function(a){return ca(_.p.top,a)||ca(da(),a)};_.aa=[];fa = "function"==typeof Object.create?Object.create:function(a){var b=function(){};...

и так далее. Это читается для вас? Я так не думаю. Это вообще не читается.

Чтобы лучше понять код, его нужно распаковать. Это добавит дополнительные пробелы и отформатирует код более читабельным. так это будет выглядеть так:

(function(){
  var b = j(),
      c = k (b);
})();

Это позволяет вам переходить от одного фрагмента кода к другому и обнаруживать код или искать свою ошибку внутри.

Кроме того, для производства вам нужно не только минимизировать код, но и сжать его. Так что было бы неплохо использовать для этого библиотеку Uglify. Он удаляет ненужные пробелы, переименовывает переменные, объекты и функции для гораздо меньших имен, таких как a или b12. Это увеличивает скорость загрузки.

Надеюсь, это поможет тебе.

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

  1. Сократите время на просмотр изменений при кодировании, пропустив этап минификации. (Если вы используете минификацию как часть этапа сборки во время разработки, вам, возможно, придется ждать завершения минификации каждый раз, когда вы вносите изменение, чтобы увидеть его в браузере.)

  2. Если используется менеджер кода, переменные могут быть переименованы и не будут интуитивно понятны в отношении того, что они на самом деле вызываются в базе кода.

  3. Если вы используете веб-пакет или какой-либо подобный загрузчик модулей, он может включать дополнительный код для горячей перезагрузки модуля и внедрения зависимостей / отслеживания ошибок, если он не минифицирован (что вам не нужно в производстве).

  4. Это позволяет сделать отладку более простой, удобочитаемой и интуитивно понятной.

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

TL; DR: минификация и изменение кода могут занять много времени (особенно когда мы создаем файлы карт и т. д.), Что может задерживать время между изменениями и время, когда эти изменения видны на локальном экземпляре. Это также может фактически затруднить разработку, усложняя / менее интуитивно понятную отладку.

Другие вопросы по теме