Как исправить доступ к скрипту из Origin Null, заблокированного ошибкой CORS? –

Недавно я загрузил HTML-проект с GitHub. К сожалению, мне не удалось открыть файл index.html в браузере, в котором было пустое содержимое. В консоли браузера отображалась ошибка «Доступ к сценарию «file:///…» из источника «null» заблокирован политикой CORS». Если вы столкнулись с такой ситуацией, вот как создать локальный сервер в Visual Studio Code, чтобы решить проблему и загрузить HTML-файл без ошибок.

Ошибка CORS из-за файлового протоколаОшибка CORS из-за файлового протокола

Политика CORS для файлового протокола

Как упоминалось в ошибке, запросы CORS или перекрестного происхождения работают только с HTTP (S), а не с протоколом file://. Ошибка возникает, когда файл HTML вызывает модули JavaScript, используя файловый протокол. В моем случае исходный HTML-код содержит следующую строку, которая представляет собой тот же файл, который отображается в ошибке консоли.

Загрузите приложение Visual Studio CodeЗагрузите приложение Visual Studio Code

Установите и откройте приложение и щелкните значок «Расширения», отображаемый на левой боковой панели (последний значок сверху). Введите «живой сервер» и найдите расширение Live Server от Ritwick Dey. Это очень популярное расширение, его установили почти 39 миллионов человек. Нажмите кнопку «Установить».

Найдите расширение Live Server в VS CodeНайдите расширение Live Server в VS Code

Вам будет предложено всплывающее окно с вопросом, доверяете ли вы автору. Нажмите кнопку «Доверить рабочую область и установить», чтобы продолжить.

Доверьтесь рабочему месту и установите расширениеДоверьте рабочую область и установите расширение

После успешной установки вы увидите подробную информацию о расширении.

Установлено расширение живого сервераУстановлено расширение живого сервера

Откройте HTML-файл и запустите сервер

Перейдите в меню «Файл > Открыть» и выберите папку проекта, и вы увидите древовидное представление всех файлов/папок в приложении. Найдите и выберите HTML-файл в папке, в которой отображалась ошибка CORS. Нажмите на опцию «Go Live», которая отображается в нижней строке состояния.

Запустить локальный серверЗапустить локальный сервер

Вы увидите сообщение «Сервер запущен на порту: 5500» с «источником: Live Server (расширение)».

Локальный сервер запущенЛокальный сервер запущен

Проверьте свою страницу и отредактируйте в прямом эфире

Когда сервер запустится, HTML-страница откроется в вашем браузере по умолчанию (то есть Safari на Mac и Edge в Windows, если вы его не меняли). URL-адрес HTML-страницы будет выглядеть так: http://127.0.0.1:5500/index.html. Теперь щелкните правой кнопкой мыши на странице и выберите меню «Проверить» или «Проверить элемент», чтобы проверить ошибки консоли. Вы увидите, что ошибка CORS исправлена ​​и все файл:/// Сообщения протокола исчезли. Это означает, что локальный сервер работает нормально и страница без проблем вызывает модуль JavaScript.

Исправлена ​​ошибка CORSИсправлена ​​ошибка CORS

Хорошая особенность расширения Live Server заключается в том, что вы можете редактировать контент в реальном времени. Просто измените любое содержимое вашего HTML-файла и сохраните его. Вы увидите, что страница автоматически перезагружается в браузере и отображает обновленное содержимое. Вы можете расположить код Visual Studio и приложения браузера рядом, чтобы быстро устранять неполадки на странице и получать результаты в реальном времени.

Проверьте результат в реальном времени с помощью VS Code и SafariПроверьте результат в реальном времени с помощью VS Code и Safari

Закрытие локального сервера

Когда локальный сервер запущен, приложение Visual Studio Code отобразит «Порт: 5500» в правом нижнем углу. После завершения работы нажмите на опцию «Порт: 5500».

Закрыть локальный серверЗакрыть локальный сервер

Это остановит/закроет локальный сервер, и вы увидите сообщение «Сервер теперь отключен».

Локальный сервер в автономном режимеЛокальный сервер в автономном режиме

Заключительные слова

Это простой способ исправить ошибку «Доступ к сценарию по адресу «file:///…» из источника «null» заблокирован политикой CORS» без установки NPM или любой другой сложной среды локального сервера. Если вы делаете это разово, то после окончания работы удалите расширение.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *