Next.js monorepo: несколько приложений на поддоменах против одного приложения?
Я только начал использовать nx.dev для перехода с одного репозитория приложения на монорепозиторий, поскольку я добавил очень простое приложение для статической документации в микс, который развертывается на поддомене.
docs.company.com
.
Мое основное приложение в настоящее время развернуто на основном маршруте
company.com
. Однако можно думать об этом как о разных приложениях, где есть
app1
,
app2
а также
admin
Например. Мне нравится идея иметь все как одно приложение, поскольку его можно легко развернуть с поддержкой nx и Vercels monorepo.
Я просто не уверен, какой здесь подход. Конечно, я мог бы разделить основное приложение на несколько приложений и развернуть их независимо в таких поддоменах, как:
- admin.company.com
- app1.company.com
- app2.company.com
Если я правильно понял, я мог бы также использовать поддержку нескольких зон, если мне не нравятся субдомены, и вместо этого я использую один домен.
Это основное приложение, которое может быть разделено на несколько приложений, не является общедоступным, и требуется аутентификация. Он полностью обрабатывается на стороне клиента, в то время как клиент apollo используется для взаимодействия с GraphQL API. Этот сервер API также устанавливает файл cookie JWT для аутентификации. Я совершенно уверен, что смогу смягчить проблему с поддоменами в этом отношении, установив параметр cookie домена, так что файл cookie также действителен для поддоменов.
Однако, поскольку файл cookie
http-only
Я не могу получить к нему доступ с клиента, и мне нужно отслеживать статус входа в систему в моем глобальном управлении состоянием (это overmind.js). Разделение приложения добавит дополнительную сложность для сохранения глобального состояния между приложениями поддоменов.
Я не уверен, стоит ли это того или лучше придерживаться подхода одного приложения. Я хотел бы услышать ваше мнение, и, возможно, я забыл о некоторых важных моментах. Некоторые вопросы, которые приходят мне в голову:
- Какие преимущества и недостатки использования поддоменов?
- Что предпочтительнее - использовать несколько зон и только одно приложение?
- Как можно решить проблемы аутентификации / глобального состояния при переключении на несколько приложений?
о чем ты думаешь?