У меня есть приложение для узла, которое в разработке использует 2 сервера: один для моей стороны узла, а другой для моей стороны реакции.Я запускаю это, используя строку в моем пакете.
"scripts": {
"start": "node app.js",
"server": "nodemon --inspect-brk app.js",
"client": "npm start --prefix client",
"dev": "concurrently \"npm run server\" \"npm run client\""
},
, когда я запускаю npm run dev
, все это работает, однако, когда я запускаю запуск узла, сервер начинает работать, однако, когда вы переходите к корню /
URL дает ошибку 404 статуса.Я предполагаю, что это потому, что приложение не знает, где искать файл index.html или как запустить приложение, хотя я могу быть совершенно неправ.
моя структура папок:
Как вы можете видеть, моя папка клиента содержит все элементы реакции.src - это некомпилированная реакция, и сборка содержит мой фактический файл index.html вместе со статической папкой, в которой хранится скомпилированная реакция:
, поэтомукак мне заставить это работать или указывать мне направление?Я думаю, что я был испорчен большинством приложений, просто знающих из коробки, как это сделать.
ОБНОВЛЕНИЕ: таким образом, у меня есть 2 маршрута, настроенных в настоящее время
//initiate route handlers
app.use('/login', require('./routes/authRoutes'));
app.use('/tiles', require('./routes/tileRoutes'));
внутри / login Iнапример,
router.get('/', (req, res)=>{
some code here...
}
, но, если я перехожу к localhost: 5000 / login, я получаю ошибку 404
Если я правильно понимаю, это работает, когдаЯ запускаю npm, запускаю dev, потому что 2 порции крутятся.один сервер обрабатывает весь мой код узла, а второй - весь мой реагирующий код.Однако я не хочу запускать 2 сервера, поскольку мое развертывание на heroku определенно не будет.Так как мне объединить до 2 так сказать?