Должен ли я создать серверную часть приложения в директории сервера nuxt.js? - PullRequest
1 голос
/ 24 октября 2019

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

Я пытаюсь настроить свой проект, но я делаюне знаю как мне это сделать. Приложение, которое я создаю, будет иметь собственный внешний интерфейс, серверную часть, а также базу данных (я буду использовать MongoDB ), но на самом деле я не знаю, как мне начать. Я много читал о SSR, и Nuxt.js кажется действительно хорошим, если я планирую использовать Vue.js на фронте. При создании приложения nuxt я могу выбрать использование Express, а затем я могу видеть каталог сервера внутри своей структуры каталогов. Означает ли это, что я должен создать весь бэкэнд внутри этого каталога, или, может быть, это только для мелочей? У меня также есть другой вопрос: что, если я хочу использовать Nest.js на сервере, могу ли я просто использовать npm i -g @nestjs/cli, а затем nest new project-name в моем каталоге сервера? Я искал также этот ответ, но почти все результаты в Google для этого типа примерно (сравнение между Nuxt.js , Next.js и Nest.js ).

Это будет мой первый крупномасштабный проект с полным стеком, и я хочу сделать это правильно, но я действительно новичок в этом, поэтому я ищу ответ от более опытных программистов.

1 Ответ

1 голос
/ 24 октября 2019

Вы можете запустить экспресс или любой сервер 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 для запуска обоих.

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