#node.js #reactjs #typescript #express #deployment
#node.js #reactjs #typescript #экспресс #развертывание
Вопрос:
Я пытаюсь настроить сервер и приложение react для обслуживания из одного места и хоста из одного домена. Это дает мне преимущество одного репозитория и возможность использовать файлы cookie на стороне сервера вместо токенов аутентификации.
Смотрите также эту ссылку: https://dev.to/nburgess/creating-a-react-app-with-react-router-and-an-express-backend-33l3
Я также предпочитаю использовать typescript.
Я действительно думаю, что это был бы хороший подход, но трудно найти ресурсы. Все курсы, бесплатные или платные, работают с отдельными интерфейсами React / Angular, которые затем должны извлекать данные из серверной части в отдельном домене.
Кто-нибудь знает хороший ресурс, как объединить интерфейс react и серверную часть express и разместить его в одном месте?Или есть веские причины не делать этого, которых я просто не вижу на данный момент?
Комментарии:
1. Не то чтобы это действительно тот вопрос, для которого нужен SO, но просто для ответа: ваш вопрос на самом деле не имеет смысла. Вы не можете запускать два одновременных сервера из одного домена. Я думаю, что вам следует объединить их. У вас может быть сервер, который не только выполняет все внутренние функции (например, предоставляет конечные точки для извлечения данных и т. Д.), Но Также обслуживает все файлы внешнего интерфейса.
2. Причина, по которой они обычно разделяются в курсах / руководствах, заключается в том, что неплохо думать о них как о отдельных объектах. Интерфейс — это пользовательский интерфейс, который отображается на компьютере клиента, а серверная часть — это сервер, который выполняет все функции серверной части, такие как аутентификация пользователей или предоставление конечных точек для получения данных. В общем, 2 не являются (и не должны быть) тесно связанными. Ваш интерфейс должен работать с ЛЮБЫМ сервером, который имеет те же конечные точки и ответы, которые он ожидает, и наоборот
3. Спасибо @Jayce444. Я не имею в виду запускать 2 сервера — экспресс-сервер просто запустит статические (встроенные) файлы html и js. Во многом так же, как, например, разработка приложения с помощью pug.
4. Я не слишком уверен, что такое pug, но я хочу ответить на ваш вопрос, тогда да, это отличный подход для объединения интерфейса и серверной части в единый объект, размещенный в одном домене. Если у вас есть конкретные вопросы, вы можете задать их, но в целом — да, для сервера нормально размещать файлы интерфейса и предоставлять API для указанного интерфейса.
5. Crisp React Я автор.