
Size: a a a
foo()
, просто. А переместить его, когда foo()
разбит на кучу маленьких функций, и выражение находится в одной из них, сложнее.-p
:$ webpack -p
production
и включает самые простые оптимизации (минификацию и NODE_ENV=production
). Для реальных проектов этого вряд ли будет достаточно (я писал, что для них нужно), но для прототипов — хороший вариант, чтобы не возиться с конфигом.DefinePlugin
:module.exports = {
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.strinfigy(process.env.NODE_ENV),
}),
],
};
DefinePlugin
, но передаёт переменные окружения автоматически:module.exports = {
plugins: [
new webpack.EnvironmentPlugin(),
// Теперь все process.env.* в коде будут заменены
// на аналогичные переменные из реального окружения
],
};
max-age
: https://jakearchibald.com/2016/caching-best-practices/vendor
)AggressiveSplittingPlugin
реально помогает с кешированием (и ускоряет загрузку) + нет ли у него каких-то побочных эффектов, которые видны только в продакшенеimport()