В настоящее время я создаю простое приложение, используя стек MERN для изучения. Что я сделал до сих пор:
- - Регистрация и вход пользователя (API)
- - Список TODO (API и интерфейс со статическими файлами)
ОК, Все работает хорошо и, как и ожидалось, за исключением одной вещи.
Я пытаюсь использовать свои API для любого запроса, но в то же время я хочу, чтобы все мое приложение работало с визуализацией в веб-браузере (список TODO),Итак, процесс, за которым я следовал:
- - запуск экземпляра узла
- -npm run build (для создания файлов реагирующего проекта)
Iпровел исследование о том, как использовать сборку React в проекте узла, и я сделал следующее:
app.use(express.static('myproject/build'));
app.get('/*', (req, res) => {
res.sendFile(path.resolve(__dirname, 'myproject', 'index.html'));
});
Хорошо! Поэтому, когда я перехожу на http://localhost:4000,, он обрабатывает мой индексный файл и фактически работает с моим API входа в систему, но у меня есть некоторые API, которые доступны только для использования данных и не рендеринга пользовательского интерфейса.
Итак,моя проблема заключается в том, что при запуске приложения, если я иду к: http://localhost:4000/api/users/getdata я получаю сообщение об ошибке: Ошибка: ENOENT: нет такого файла или каталога, указывающего index.html
Хорошо, если яраскомментируйте код, который я разместил ранее, тогда, конечно, мое приложение не отображает пользовательский интерфейс, но мои маршруты из API работают нормально.
Я знаю, что это может быть процесс установки / настройки, но я стараюсь изо всех сил, чтобы понять это. Если кто-то может помочь мне с этой проблемой, пожалуйста.
Иерархия, которую я работаю, выглядит следующим образом: