#javascript #node.js #express #port
#javascript #node.js #экспресс #порт
Вопрос:
Мое приложение react работает по умолчанию http://localhost:3000 / (что означает, что приложение работает на порту 3000, как я понял), однако, когда я хочу получить данные от клиента к серверу, мне приходится прослушивать другой порт. Вот код:
const express = require("express");
const server = express();
const body_parser = require("body-parser");
const port = 4000;
server.listen(port, () => {
console.log(`Server listening at ${port}`);
Когда сервер прослушивает порт 4000 или любой другой порт, кроме 3000, все работает нормально (я могу получать и отправлять данные), но мой код выдает ошибку всякий раз, когда я начинаю прослушивать 3000. Я не понимаю, как это работает, разве я не должен слушать 3000 для подключения к моему приложению react? или мне не хватает некоторых фундаментальных знаний?
Ответ №1:
Если вы запускаете каждое приложение отдельно, вам нужно запускать каждое приложение на другом порту. Вам нужно будет только запустить сервер и прослушать тот же порт, если вы обслуживаете свое интерфейсное приложение с сервера.
Комментарии:
1. Спасибо за ответ! да, я запускаю каждое приложение отдельно, и теперь я понимаю, что их нужно запускать на отдельных портах, но почему я должен указывать для прослушивания определенного порта? На самом деле я немного смущен тем, что выполняет прослушивание порта, и почему мне не нужно указывать это в моем интерфейсном коде.
2. @bearthum Прослушивание порта позволяет вам… получайте данные с этого порта. Вы должны указать порт, чтобы знать, какой порт прослушивать. Если вы не указываете его на клиенте, это означает, что существует значение по умолчанию, которое соответствует вашей конфигурации.