Я развернул небольшое веб-приложение в Netlify и заметил, что мой файл bundle.js весит всего 157 КБ. Когда я запускаю производственную сборку локально, это 575 КБ. Я не злюсь на это, но как Netlify это делает?
Приложение использует browserify для объединения моих скриптов, а также babel и uglify. browserify script.js | uglifyjs > dist/bundle.js Это тот же скрипт, который я сказал Netlify запустить в настройках.
Я думаю, что это должна быть какая-то настройка по умолчанию в сборках Netlify?
Я думал, что это может быть моя переменная среды NODE_ENV, настроенная на разработку, но я дважды проверил, и она настроена на производство. Я даже пытался добавить set NODE_ENV=production && перед моим скриптом сборки, просто чтобы убедиться.
Является ли Netlify магией? Что еще может отличаться между моей локальной настройкой и Netlify?





Может gzip?
Подробнее об этом читайте здесь: https://www.gzip.org/
Посмотрите, есть ли заголовок под названием Content-Encoding: gzip, и вы будете знать наверняка.
Хм, может быть... Есть хороший способ проверить? Имя файла по-прежнему просто bundle.js, а не bundle.gz. Я взглянул на файл bundle.js на Netlify, и он имеет ту же длину, что и мой локальный файл bundle.js. -- несмотря на то, что он на 400 КБ меньше?!
Вы пытались увидеть заголовок Content-Encoding?
Ага! content-encoding: gzip в заголовке ответа netlify. content-encoding: application/javascript на местном. Netlfiy, ты подлый g-zippin сукин сын. Спасибо!
Если есть Nginx, то, наверное, gzip: docs.nginx.com/nginx/admin-guide/веб-сервер/сжатие
Как меряете размеры? Возможно, браузер сообщает размер gzip по сравнению с Explorer/Finder, сообщающим о размере файла?