#javascript #reactjs
Вопрос:
Это мой js:
import React from './node_modules/react';
import ReactDOM from './node_modules/react-dom';
let thePage = React.createElement(
'main',
null,
'lol'
);
ReactDOM.render(thePage, document.getElementById('app'));
Но когда я открываю связанную с ним HTML-страницу в своем браузере, я получаю эту ошибку:
Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.
Вот как выглядит моя папка React для справки:
Ссылка
Да, и файлы html и js находятся в папке «мое приложение».
Мне пришло в голову, что, похоже, здесь нет «react.js» или любой такой файл, но я пытался переустановить его, и он всегда так выглядит, поэтому я не знаю, является ли это проблемой или нет.
Есть идеи, как я могу исправить эту ошибку? Что я делаю не так?
Комментарии:
1. Вам не должны понадобиться модели node_ в пути.
2. @mkaatman-Это папка, в которой он находится. Если я опущу его, браузер сообщит мне, что не может его найти.
3. Вы используете webpack? Webpack скомпилирует все в уменьшенный пакет.
Ответ №1:
Вероятно, вы не запускаете приложение так, как следовало бы (двойной щелчок по index.html
файлу?)
Если вы использовали react-скрипты для создания приложения (как вам, вероятно, следует, если вы новичок), затем используйте npm run start
, который скомпилирует код и импорт в один файл пакета JavaScript и запустит веб-страницу на http://localhost:3000
Это позволит регулярному импорту работать должным образом:
import React from 'react';
import ReactDOM from 'react-dom';
А при развертывании на удаленном веб-сервере используйте npm run build
и скопируйте содержимое build
папки на сервер.
Комментарии:
1. Как вы собираетесь создать целый проект, если вы можете одновременно размещать только одну страницу(не менее чем на локальном хостинге)? Я даже не могу использовать localhost, потому что я подключаюсь по ssh к серверу uni.
Ответ №2:
наиболее вероятный сценарий здесь заключается в том, что он не может найти файл сценария, поэтому выборка сценария возвращает 404, что будет текстовой страницей, на которой говорится, что она не может его найти.
Дважды проверьте местоположение в index.html это то, чем это должно быть
Комментарии:
1. gyazo.com/8676d951c98a09ff3734dc424720baaa Путь правильный, но когда я открываю его в браузере, сервер возвращает это. Поэтому я предполагаю, что это чтение, которое реагирует, когда я пытаюсь импортировать. Должен ли я добавить «index.js» на импортный путь или что-то в этом роде?
2. Вы забыли создать приложение, развертывание приложения React-это не просто копирование исходных файлов на веб — сервер. Это объясняется в моем ответе
3. это прекрасный снимок экрана, но он мало о чем мне говорит. Попробуйте перейти на вкладку «Сеть» в инструментах для разработки браузеров и посмотреть, что на самом деле извлекается, а также статус извлечения