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