Можно ли отобразить html-файл, который не принадлежит проекту react, во время запроса прокси-серверов в режиме разработки?

#javascript #node.js #reactjs #react-router #development-environment

Вопрос:

Я работаю над проектом react, но мой босс хочет, чтобы я добавил стороннюю index.html файл в проект. Идея состоит в том, чтобы создать кнопку, которая перенаправляет на эту другую страницу. Я создал конечную точку на сервере

 app.get('/openscad', function(req, res) {  res.sendfile(path.join(__dirname, '/openscad/index.html')); });  

чтобы вернуть index.html файл каждый раз, когда запрашивается /openscad. Я запустил сервер и реагирую (на разработку)

 npm start node server.js  

и я отправляю прокси-запросы с локального хоста:3000 на сервер (локальный хост:5000). Когда я получаю запрос /openscad непосредственно на localhost:5000, он отображает мой html, но когда я запрашиваю его на localhost:3000, он не отображается. Я просто получаю состояние http 200 ОК, но html не возвращается.

Это мой файл индекса реакции

 import React, { Component } from "react"; import ReactDOM from 'react-dom'; import Viewer from './viewer'; import Login from './login'; import {  BrowserRouter as Router,  Switch,  Route } from "react-router-dom"; import HomePage from "./homePage"; import ProfilePage from "./profilePage";  class App extends Component {   render() {  return (  lt;Routergt;  lt;Switchgt;  lt;Route path="/viewer"gt;  lt;Viewer /gt;  lt;/Routegt;  lt;Route path="/access"gt;  lt;Login /gt;  lt;/Routegt;  lt;Route path="/profile"gt;  lt;ProfilePage /gt;  lt;/Routegt;  lt;Route path="/home"gt;  lt;HomePage /gt;  lt;/Routegt;  lt;/Switchgt;  lt;/ Routergt;   )  } }  ReactDOM.render(  lt;React.StrictModegt;  lt;App /gt;  lt;/React.StrictModegt;,  document.getElementById('root') );  

Я хочу, чтобы он отображался в процессе разработки, поэтому мне не нужно создавать свой проект каждый раз, когда я хочу протестировать эту новую функцию. Возможно ли сделать рендеринг моего index.html при запросе на него localhost:3000?

Ответ №1:

Насколько я знаю, сервер приложений create react просто возвращает index.html для каждого запроса, который не является статическим файлом. Попробуйте разместить свой сторонний html-код внутри /общедоступный, а затем перенаправить на полный путь ( /public/other.html ).

Если это не сработает, вам придется либо прокси-сервер, либо, возможно, извлечь, чтобы изменить настройки.