@Narts

Почему проект, собранный через vite не позволяет открыть сборку локлаьно через index.html?

Есть два проекта: на create-react-app (webpack) и на vite.
Когда я открываю index.html cra проекта, то все открывается корректно.
Когда я открываю index.html vite проекта, то проект не открывается, тк ругается cors, что < script > обращается к файлу через file:// протокол. НО cra билд тоже обращается к скрипту через file:// протокол и там все корректно работает.

Скрипт в cra подключается так:
<script defer="defer" src="./static/js/main.6e4ab559.js"></script>


Скрипт в vite подключается так:
<script type="module" crossorigin src="./index-fa54eb2f.js"></script>


Запрос к cra скрипту выглядит так:
Referer: 
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36


Запрос к vite скрипту так:
Origin: null
Referer:
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36


и так как ошибка выкидывается такая: "Access to script at '...t/dist/index-fa54eb2f.js' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, isolated-app, chrome-extension, chrome, https, chrome-untrusted.", полагаю что проблема именно в Origin: null, но как его убрать при сборке проекта?
  • Вопрос задан
  • 643 просмотра
Решения вопроса 1
Aetae
@Aetae Куратор тега JavaScript
Тлен
Почему?
Потому что в классическом виде это один js файл подключённый через script, а в виде модулей - это множество файлов которые дополнительно грузятся внутри script. Ограничения безопасности браузеров по разному работают в данных ситуациях.

Что делать?
Не открывать современные приложения локально. Просто забудь о такой возможности. Установи глобально какой-нить alive-server и запуская через него. Если надо это распространять - прилагай микросервер в комплекте или смотри в сторону всяких виндовых однофайловых вариантов\pdf.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@svm2001
Для просмотра билд версии в vite используется команда `npm run preview`.
Файлы из папки dist/build можно открыть только через любой live-server. Я через webstrom открывал - все работало.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
16 мая 2024, в 23:36
200000 руб./за проект
16 мая 2024, в 23:10
12000 руб./за проект