#javascript #vue.js #amazon-s3 #https #amazon-cloudfront
Вопрос:
У меня есть приложение Vue, размещенное в корзине Amazon S3. Он отлично загружается при доступе по ссылке S3 w/http. Когда я посещаю сайт по пользовательской ссылке SSL-домена на cloudfront, javascript подается неправильно. файлы JS полностью доступны через https в браузере, но не выполняются в браузере, оставляя меня с пустой страницей. Я получаю следующую ошибку для обеих ссылок javascript в index.html:
Не удалось загрузить сценарий модуля: ожидался сценарий модуля JavaScript, но сервер ответил типом MIME «текст/обычный». Строгая проверка типов MIME применяется для сценариев модулей в соответствии со спецификацией HTML.
также: я следовал инструкциям здесь: https://levelup.gitconnected.com/deploying-vue-js-to-aws-with-https-and-a-custom-domain-name-3ae1f79fe188
Ответ №1:
Как я понял, мне просто нужно было вручную изменить системный тип контента в консоли S3 для отдельных объектов js с text/plain на application/javascript, а затем убедиться, что кэш был признан недействительным и обновлен в моем браузере.
Ответ №2:
При загрузке с помощью инструмента командной строки aws вы можете заставить его загружать файлы javascript с правильным типом mime/контента с помощью редактирования реестра.
Измените раздел реестра
HKEY_CURRENT_USERSOFTWAREClasses.js
Установите «Тип контента» в «приложение/javascript».
Примечание. Последнее обновление Windows (начиная с 2022-01-14) незаметно изменило эту запись реестра на «текст/обычный».