Вы можете запустить экспресс или любой сервер node.js, который вы хотите внутри Nuxt.js. При установке Nuxt.js с помощью инструмента scaffolding create-nuxt-app вы можете выбрать интегрированные серверные инфраструктуры: Express, Koa, Hapi, Feathers, Micro, Fastify, Adonis (WIP). Официальной интеграции с Nest.js нет, но вы можете легко найти на github стартовый набор .
с create-nuxt-app
, если вы решите использовать любой сервер node.js внутри вашего приложения nuxt вы увидите каталог server
внутри вашей структуры каталогов с соответствующим предварительно сконфигурированным файлом index.js
на стороне сервера.
Вот мое собственное чувство по этому поводу:
Я думаю, что внутреннее решение имеет смысл для небольшого SPA или проекта без головы (например: анализировать и обслуживать файлы, простойJWT Authentification, небольшой сервер веб-сокетов ...) или для интерфейсного логического приложения, которое не может поместиться в клиентском браузере и которое не имеет ничего общего с базой данных (например, вычисление изображения или файла). Но обычно этот сервер запускает слой базы данных для вашего приложения Nuxt: REST или GraphQL API. Он также может управлять вашей бизнес-логикой вашего приложения, обслуживать аутентификацию и многое другое при развитии проекта ...
Если вы думаете о разделении интересов и архитектуре микросервисов, не используйтесервер внутри Nuxt.js. Разделение внешнего интерфейса и сервера приведет к большей гибкости. Вы можете разместить интерфейс и API на разных серверах.
Итак, действительно ли nuxt.js действительно нужен сервер node.js?
Да, если вы планируете его использоватьв режиме SSR, Нет, если вы планируете использовать его как SPA или сгенерированный статическим способом. Документы здесь ... .
В режиме SSR nuxt.js запрашивает данные у вашего API при первом рендеринге и предоставляет полную SEO-совместимую страницу для клиентского браузера или ботов. Он также предоставляет весь javascript, который необходим браузеру для навигации по вашему API. Для этого nuxt.js в режиме SSR должен работать с node.js.
Полагаю, вы сказали «back-end» для вашего API и приложения бизнес-логики, в этом случае вам следует разделить nuxt.jsи твой сервер. Два экземпляра node.js для запуска обоих.