Форум программистов, компьютерный форум, киберфорум
React/ReactJS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 13.02.2018
Сообщений: 30

Отправка в браузер React файла с сервера Node js

26.04.2022, 20:28. Показов 1286. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возможно ли отправить большой React файл в браузер через node js?
я нашёл примеры отправки простых файлов реакт через babel
html:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Hello React</title>
</head>
<body>
<div id="myapp"></div>
<h1>hi</h1>
<script crossorigin src="https://unpkg.com/react@18/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js"></script>
<script src="outbabel.js"></script>
</body>
</html>
react:
JavaScript
1
2
3
4
5
6
const rootNode = document.getElementById("myapp"); // элемент для рендеринга приложения React
// получаем корневой элемент
 
const root = ReactDOM.createRoot(rootNode);
root.render( /*#__PURE__*/React.createElement("h1", null, "Hello React") // элемент, который мы хотим создать
);
сам сервер:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
const app = express();
const fs = require("fs");
app.use("/", function (request, response) {
    let filePath = "index.html";
    if(request.url !== "/"){
        // получаем путь после слеша
        filePath = request.url.substring(1);
        console.log("2)"+filePath)
    }
    fs.readFile(filePath, function(error, data){
        console.log("1)"+filePath)
        if(error){
 
            response.statusCode = 404;
            response.end("Resourse not found!");
        }
        else{
            response.end(data);
        }
    });
});
app.listen(3000, function () {
    console.log("server started on 3000")
});
он работает и в браузере при переходе по адресу localhost появляется простой react файл, но как только я хочу закинуть сложный реакт файл - где у меня куча импотов, разные UseState, функции и т.д, всё ломается.
может, нужен другой подход? или это невозможно? сам реактовский файл без сервера работает, отображается станица в браузере, которая представляет собой полноценное приложение, но через сервер не отправляется.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.04.2022, 20:28
Ответы с готовыми решениями:

Передача данных c сервера Node.js в App.js (react приложение) через proxy
Здравствуйте, уважаемые форумчане! У меня следующий вопрос. Я, кажется, не до конца понимаю механизм передачи данных с сервера Node.js в...

Скачивание файла с сервера node.js
Как это реализовать? var http = require(&quot;http&quot;); var fs = require('fs'); http.createServer(function(request, response){ let...

React JS / Node JS / Java
Всем привет, Пример: Использую вебсайт на React / Node JS 2 файла - HomeScreen(export file) и Navbar(import file) Нужно...

1
 Аватар для ArtyomTank
1 / 1 / 0
Регистрация: 21.02.2019
Сообщений: 137
15.05.2022, 11:02
Я бы заменил
Цитата Сообщение от Vladimir 29 Посмотреть сообщение
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const app = express();
const fs = require("fs");
app.use("/", function (request, response) {
    let filePath = "index.html";
    if(request.url !== "/"){
        // получаем путь после слеша
        filePath = request.url.substring(1);
        console.log("2)"+filePath)
    }
    fs.readFile(filePath, function(error, data){
        console.log("1)"+filePath)
        if(error){
response.statusCode = 404;
            response.end("Resourse not found!");
        }
        else{
            response.end(data);
        }
    });
});
JavaScript
1
2
3
4
5
6
7
8
const express = require('express');
const path = require('path');
 
const app = express();
 
var staticPath = path.join(__dirname, '/public');
 
app.use(express.static(staticPath));
где "/public" папка с общими файлами (странички, картинки, фавикон и т.п.)




А по теме можно упаковывать через webpack https://metanit.com/web/react/2.9.php
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.05.2022, 11:02
Помогаю со студенческими работами здесь

Получение txt файла c сервера и вывод в браузер
Я написала простенький сервер на C#. Он обрабатывает запрос от клиента (браузера) и посылает в ответ на запрос страницу html. Мне нужно...

Отправка файла на почту с сервера
Задача следующая, имеется некая анкета, по заполнению которой генерируется текстовый файл с данными введенными в анкете, так мне надо чтобы...

Отправка-запрос файла с сервера
Тут я решил поучить делегаты и понеслось... Короче, решил написать прогу авторизации с логином и паролем. Из них создаю экземпляр...

Ищем разработчиков Node.JS / React.JS в команду
Ищем Веб-разработчиков в команду. Ищем как full stack разработчиков, так и отдельно на backend или frontend. Команда занимается...

Запуск готового проекта на node js+react
Разархивировал данный проект из гитхаба у себя: https://github.com/bhaskarteched/MusicApp Затем открываю консоль в данном проекте и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru