Я работаю над проектом, используя Вебпак, и случайно заметил в объекте параметр с именем mode.
Согласно документации, у него есть два возможных значения (оба — string). Один development, другой production.
Ниже мой файл webpack.config.js.
module.exports = {
// ...
mode: "development",
// ...
};
Я уже могу сделать вывод, что development будет медленнее, а production будет быстрее. Однако что делает код медленнее в development?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


производственный режим, используемый для оптимизации всех файлов JS, тогда как режим разработки сохраняет файл JS как есть.
Ниже приведены различия в том, во что Вебпак компилирует ваш код, в зависимости от вашего mode.
developmentЭтот режим использует функцию eval() для выполнения всего вашего кода в строке. Это не делает его меньше, за исключением того факта, что он помещает весь ваш код в одну строку.
Функция eval() медленнее, чем обычный JavaScript (цитата из MDN ниже), так что это не рекомендуется использовать это в производстве!
Из МДН:
eval()is also slower than the alternatives, since it has to invoke the JavaScript interpreter, while many other constructs are optimized by modern JS engines.
productionВ режиме productionВебпак правильно уменьшит размер вашего кода (без использования функции eval()).
Всегда использовать этот режим в продакшене!
Пожалуйста, добавьте больше информации. Спасибо!