Инструменты пользователя

Инструменты сайта


nodejs:frameworks:nestjs:install

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
nodejs:frameworks:nestjs:install [2022/11/16 11:46]
werwolf
nodejs:frameworks:nestjs:install [2023/01/12 12:18] (текущий)
Строка 1: Строка 1:
-=====Установка=====+==== Установка==== 
 + 
 +Создать новый проект c помощью [[:​cli:​overview|Nest CLI]] очень легко. С установленным [[https://​www.npmjs.com/​|yarn]] , вы можете создать новый проект Nest в терминале ОС с помощью следующих команд:​
  
-Создать новый проект с помощью интерфейса командной строки Nest довольно просто. Установив npm, вы можете создать новый проект Nest с помощью следующих команд в терминале ОС: 
 <code bash> <code bash>
-npm i -g @nestjs/​cli + 
-$ nest new project-name+yarn global add @nestjs/​cli 
 +$ nest new <​имя_проекта>​ 
 +</​code>​ 
 + 
 +<​note>​ **Подсказка** Для создания нового проекта с включенным [[https://​www.typescriptlang.org/​tsconfig#​strict|строгим режимом]] TypeScript, необходимо добавить флаг ''​--strict''​ в команде ''​nest new''​.</​note>​ 
 + 
 +При это будет создан катлог для нашего проекта с указанным нами именем ''<​имя_проекта>'',​ в котором будет находиться папка с установленными модулями ''​node_modules''​ и несколько шаблонных файлов,​ а также будет создан каталог ''​src/''​ и заполнен несколькими основными файлами. 
 + 
 +{{:​nodejs:​frameworks:​nestjs:​1.png|}} 
 + 
 +Описание основных файлов:​ 
 + 
 +|''​app.controller.ts''​|Основной контроллер с одним маршрутом.| 
 +|''​app.controller.spec.ts''​|Юнит-тесты для контроллера. контроллера.| 
 +|''​app.module.ts''​|Корневой модуль приложения.| 
 +|''​app.service.ts''​|Базовый сервис с единственным методом.| 
 +|''​main.ts''​|Файл точки входа в приложение который использует функцию ''​NestFactory''​ для создания экземпляра приложения Nest.| 
 + 
 +В ''​main.ts''​ добавлена асинхронная функция ''​bootstrap()'',​ которая запускает наше приложение:​ 
 + 
 +main.ts 
 + 
 + 
 +<code javascript>​ 
 + 
 +import { NestFactory } from '​@nestjs/​core';​ 
 +import { AppModule } from '​./​app.module';​ 
 + 
 +async function bootstrap() { 
 +  const app = await NestFactory.create(AppModule);​ 
 +  await app.listen(3000);​ 
 +
 +bootstrap();​ 
 +</​code>​ 
 + 
 + 
 +JS TS 
 +<code javascript>​ 
 + 
 +import { NestFactory } from '​@nestjs/​core';​ 
 +import { AppModule } from '​./​app.module';​ 
 + 
 +async function bootstrap() { 
 +  const app = await NestFactory.create(AppModule);​ 
 +  await app.listen(3000);​ 
 +
 +bootstrap();​ 
 +</​code>​ 
 + 
 +Для создания экземпляра приложения Nest, мы используем основной класс ''​NestFactory''​. ''​NestFactory''​ предоставляет несколько статических методов,​ позволяющих создать экземпляр приложения. Метод ''​create()''​ возвращает объект приложения,​ который соответствует интерфейсу ''​INestApplication''​. Этот объект предоставляет набор методов,​ описанных в следующих главах. В приведенном выше примере в файле ''​main.ts''​ мы просто запускаем HTTP-сервер,​ который позволяет приложению обрабатывать входящие HTTP-запросы. 
 + 
 +Обратите внимание,​ что проект,​ созданный с помощью Nest CLI, создает начальную структуру проекта,​ которая побуждает разработчиков следовать соглашению о хранении каждого модуля в отдельном каталоге. 
 + 
 +<​note>​ **Подсказка** По умолчанию,​ если при создании приложения произойдет какая-либо ошибка,​ ваше приложение звершится с кодом ''​1''​. Если вы хотите,​ чтобы он выдавал ошибку,​ вместо этого отключите параметр ''​abortOnError''​ (напр., ''​NestFactory.create(AppModule,​ { abortOnError:​ false })''​).</​note>​ 
 + 
 +=== Платформа#​ === 
 + 
 +Nest стремится быть платформенно-независимой. Независимость от платформы позволяет создавать переиспользуемые логические части, которые разработчики могут использовать в различных частях приложения. Технически Nest может работать с любым Node HTTP фреймворком после создания адаптера. По умолчанию поддержевается две платформы:​ [[https://​expressjs.com/​|express]] and [[https://​www.fastify.io|fastify]]. Вы можете выбрать ту платформу,​ которая лучше подходит вашим потребностям. 
 + 
 +|''​platform-express''​|[[https://​expressjs.com/​|Express]] — это известный,​ как минималистский и гибкий веб-фреймворк для node. Это проверенная,​ готовая к работе библиотека с множеством ресурсов,​ реализованных сообществом. Пакет ''​@nestjs/​platform-express''​ используется по умолчанию. Многие пользователи хорошо знакомы с Express, и им не нужно предпринимать никаких действий,​ чтобы включить его..| 
 +|''​platform-fastify''​|[[https://​www.fastify.io/​|Fastify]] — это высокопроизводительный фреймворк с низкими накладными расходами,​ ориентированный на обеспечение максимальной эффективности и скорости. Прочитайте,​ как это использовать [[:​techniques:​performance|здесь]].| 
 + 
 +Какая бы платформа ни использовалась,​ она предоставляет собственный интерфейс приложения. Они рассматриваются соответственно как ''​NestExpressApplication''​ и ''​NestFastifyApplication''​. 
 + 
 +Когда вы передаете тип методу ''​NestFactory.create()'',​ как в примере ниже, объект ''​app''​ будет иметь методы,​ доступные исключительно для этой конкретной платформы. Однако обратите внимание,​ что вам не **нужно** указывать тип, за исключением если вы дейтсвительно хотите получить доступ к лежащий в основе API платформы. 
 + 
 +<code javascript>​ 
 + 
 +const app = await NestFactory.create<​NestExpressApplication>​(AppModule);​ 
 +</​code>​ 
 + 
 +=== Запуск приложения#​ === 
 + 
 +После завершения процесса установки,​ чтобы запустить приложение (прослушивающее входящие HTTP-запросы) в командной строке ОС выполните следующую команду:​ 
 + 
 +<code bash> 
 + 
 +$ yarn start 
 +</​code>​ 
 + 
 +Эта команда запускает приложение с HTTP-сервером,​ прослушивающим порт, указанный в файле ''​src/​main.ts''​. После запуска приложения откройте браузер и перейдите к ''​http://​localhost:​3000/''​. Вы должны увидеть надпись ''​Hello World!''​! 
 + 
 +Чтобы отслеживать изменения в ваших файлах,​ вы можете запустить следующую команду для запуска приложения:​ 
 + 
 +<code bash> 
 + 
 +$ yarn start:dev
 </​code>​ </​code>​
  
-> Чтобы создать новый проект с включенным ​строгим режимом TypeScript, ​передайте флаг --strict в команду Nest New.+Эта команда ​будет ​следить за вашими файлами, автоматически перекомпилируя и перезагружая сервер.
nodejs/frameworks/nestjs/install.1668588382.txt.gz · Последние изменения: 2023/01/12 12:17 (внешнее изменение)