приложение узла не может найти внешний интерфейс проекта для обслуживания - PullRequest
0 голосов
/ 11 мая 2018

У меня есть приложение для узла, которое в разработке использует 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 или как запустить приложение, хотя я могу быть совершенно неправ.

моя структура папок:

enter image description here

Как вы можете видеть, моя папка клиента содержит все элементы реакции.src - это некомпилированная реакция, и сборка содержит мой фактический файл index.html вместе со статической папкой, в которой хранится скомпилированная реакция:

enter image description here

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

ОБНОВЛЕНИЕ: таким образом, у меня есть 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 так сказать?

1 Ответ

0 голосов
/ 11 мая 2018

Используйте функцию express.static () для размещения статических файлов на вашем экспресс-сервере. Подробнее здесь: https://expressjs.com/en/starter/static-files.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...