Я следую базовому руководству по приложению React, и у меня возникла эта ошибка в браузере.
"Отказался выполнить скрипт из 'http: // локальный: 8080 / bundle.js', потому что его тип MIME ('text / html') не является исполняемым, и включена строгая проверка типа MIME ".
Я не могу найти в Интернете поддержку по этой ошибке и хотел бы понять, в чем проблема. Я потратил около 2 часов на отладку. На одном форуме упоминалось, что это файлы cookie в браузере, но проблема не в этом. Я считаю, что это может быть связано с моим файлом index.html:
<!DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "UTF-8">
<title>ReactJS Sample Project</title>
</head>
<body>
<div id = "root"></div>
<script type = "text/javascript" src = "bundle.js"></script>
</body>
</html>
Дайте мне знать, если у вас есть идеи! Я относительно новичок в программировании, и мне неприятно зайти в тупик на столь ранней стадии проекта.
Вы должны включить «Cross Origin Resource Sharing» (CORS) на своем сервере.
@ThananjayaChakravarthy - Нет! Это полная чушь. Сообщение об ошибке не имеет ничего общего с CORS. Все URL-адреса в коде имеют происхождение одно и тоже.
Возможный дубликат Как использовать Tesseract.js в приложении React



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Браузер просит сервер предоставить ему bundle.js.
Затем сервер отвечает: «Вот bundle.js, это HTML-документ».
Это означает одно из двух:
Первое, что нужно сделать, это посмотреть данные в файле. Вы можете сделать это, просмотрев вкладку «Сеть» в инструментах разработчика в своем браузере.
Если это JS, вам необходимо исправить свой сервер, чтобы он отправлял правильный заголовок Content-Type для JavaScript (application/javascript).
Если это не JS, вам нужно выяснить, почему. Возможно, у вас неправильный URL. Возможно, сервер не настроен для обслуживания вашего JS.
Какой бы ни была проблема, вам нужно будет исследовать свой HTTP-сервер больше, чем клиентский код, который вы указали в вопросе.
Привет, Квентин, Спасибо за ответ, я очень ценю помощь! Я попытался посмотреть вкладку «Сеть», но она пуста. Я попытался изменить свой тег скрипта с text / javascript на application / javascript, но он по-прежнему дает ту же ошибку. Я заметил одну вещь: у меня нет создаваемого файла webpack.config.js, и я не уверен, почему. Для справки, я следил за этой демонстрацией codeburst.io/…. Еще раз извиняюсь, если мой вопрос расплывчатый.
«Я попытался посмотреть вкладку« Сеть », но она пуста». - ‚Он должен быть открыт при отправке запроса (и не настроен для скрытия типа запроса, который вы ищете).
«Я попытался изменить тег сценария с text / javascript на application / javascript» - оставьте тег сценария в покое. Вам нужно посмотреть на HTTP-сервер.
Если вы разрабатываете одностраничное приложение HTML5, скорее всего, сервер по умолчанию настроен на отправку index.html обратно для всех ресурсов, которые не найдены, вместо 404, чтобы разрешить полное обновление страницы для каждого виртуального пути в вашем приложении. Теперь, если bundle.js нет по какой-либо причине, вы получите правильный ответ в формате html. Вы должны отладить свое приложение или, по крайней мере, сообщить нам более подробную информацию о том, что вы используете.
Чтобы отладить приложение, откройте инструменты разработчика, перейдите на панель сети и обновите страницу, чтобы увидеть загружаемые ресурсы.
Эта проблема возникает, когда используется менеджер пакетов, например npm. Следующий ответ о переполнении стека решил для меня проблему. Вам нужно просто использовать ссылку CDN на библиотеку с помощью тега.
Если вы откроете вкладку «Сеть» в инструментах разработчика и посмотрите на ошибку (может быть, на вкладке «Заголовки» в сети), какой URL-адрес вы видите, что он пытается получить файл bundle.js. Ответ может заключаться в простом префиксе bundle.js с косой чертой (т. Е. Src = "/ bundle.js"), если вы используете маршрутизацию на стороне клиента.
Используемый вами локальный сервер разработки не отправляет правильные типы MIME. Какой сервер вы используете?