Как вы выполняете обработку на стороне сервера в приложении React? - PullRequest
0 голосов
/ 18 февраля 2019

Я пишу свое первое приложение Node / React / Express / Next.

Я не уверен, как выполнить код на стороне сервера при поступлении запроса.

Когда есть запросМне нужно получить некоторые данные с диска сервера.Я пытаюсь сделать это из файла javascript в каталоге моих страниц, но отсюда модуль 'fs' недоступен.Я думаю, это потому, что браузер должен выполнять код (что сбивает с толку меня, потому что я думал, что next.js означал, что сервер обрабатывал код и экспортировал html обратно).

Я много гуглялэта проблема и не может найти ответ.Что странно, потому что это должно быть одним из самых основных требований веб-приложения.Может быть, решение настолько простое, и я просто упускаю из виду очевидное?

Может кто-нибудь предоставить краткое объяснение или указатели в правильном направлении о том, как выполнять обработку на стороне сервера (например, чтение файла с диска сервера)) из файла /pages/xxx.js в приложении React / Express / Next?Или, другими словами, как или где я могу получить доступ к модулю 'fs'?

Я получаю ошибку "ModuleNotFoundError: Модуль не найден: Ошибка: Не удается разрешить" fs "в / pages

спасибо

1 Ответ

0 голосов
/ 18 февраля 2019

Ваше приложение next.js разделено на две части: часть, выполняющаяся на клиентском сервере и (отображение страниц в HTML), и часть, выполняющаяся только на сервере (поиск страниц и их отображение).через HTTP).

То, что вы хотите сделать, возможно только на сервере и обычно выполняется в области express, инфраструктуры маршрутизации.Next.js разработан, чтобы упростить создание SPA, которые не нуждаются в бэкэнде , но хотят рендеринга на стороне сервера.

Однако он позволяет изменять компонент только для сервера, если вынужно.Документацию по этому вопросу можно найти в разделе «Пользовательский сервер и маршрутизация» документации .

Затем можно добавить маршруты API, которые интерфейс может вызывать для запроса данных избэкэнд, например, возвращая JSON, который приложение может хранить в состоянии React.

...