Сервис Amazon S3 незаменим для многих разработчиков, когда им нужен дешевый и мощный статический хостинг. S3 существует уже некоторое время, и Amazon хорошо поработал, поддерживая актуальность и простоту использования интерфейса. Однако если вы хотите сжать свои статические JS и CSS при хостинге на S3, неясно, как это сделать, и результаты часто вызывают и другие службы хостинга AWS. Вот быстрый и простой способ использовать сжатые файлы JS и CSS из AWS S3.
Запуск в файловой системе
Поскольку в S3 нет излишеств и он очень доступен, некоторые основы, такие как сжатие с помощью сжатия, требуют немного больше работы, чем многие конфигурации сервера по умолчанию, которые сжимают ваши файлы на лету. В нашем случае S3 нуждается в сжатии этих файлов перед их загрузкой, он не может выполнить сжатие за нас. Это делается с помощью простой команды, которую я рекомендую добавить в качестве сценария на этапе сборки или в процесс непрерывной интеграции.
gzip -9 /path/file.css
or
gzip -9 /path/file.js
Вот и все! ⚡️ -9
просто означает, что нам нужен самый высокий уровень сжатия. Теперь у нас есть сжатые файлы, и их нужно загрузить в S3.
Загрузка в S3
Идите вперед, перейдите на панель загрузки S3 и выберите «Добавить файлы». (⚠️ Возможно, вам придется удалить окончание .gz из сжатых файлов перед загрузкой.)
⚠️За один раз загружайте файлы только одного типа (CSS или JS), так как это имеет значение для нашего следующего шага. Выберите файлы и нажмите «Далее».
Установка разрешений и метаданных
Здесь вы выберете Разрешения. Поскольку они обслуживаются пользователем, обязательно предоставьте общий доступ для чтения к файлам.
Снова нажмите «Далее», чтобы перейти к экрану «Свойства». Здесь вы можете выбрать, какой класс шифрования и хранения вы используете. Внизу находится то место, где мы хотим внести наши изменения, где написано «Метаданные».
Сначала мы установим Content Type
. Это будет либо text/css
, либо text/javascript
в зависимости от файла. Введите значение и нажмите «Сохранить». Что еще более важно, здесь мы сообщаем S3, что наш файл был заархивирован. Выбираем вариант Content Encoding
(видите, не все так очевидно). В качестве значения введите gzip
. Введите любые другие поля метаданных, которые вы хотите для файла. Нажмите «Сохранить», и готовые поля должны выглядеть следующим образом:
Вуаля!
Нажмите «Далее», проверьте свои настройки на экране подтверждения и нажмите «Загрузить». Все сделано! 🎉 Ваша страница теперь должна работать как раньше, но намного быстрее и тоньше. Надеюсь, это поможет, комментируйте любые вопросы!