Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
nodejs:frameworks:nestjs:install [2022/11/16 11:51] werwolf |
nodejs:frameworks:nestjs:install [2023/01/12 12:18] (текущий) |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ==== Первые шаги ==== | + | ==== Установка# ==== |
| - | + | ||
| - | В этом наборе статей раскрыты **основные принципы** работы с Nest. Чтобы ознакомиться с основными блоками Nest, мы создадим базовое приложение CRUD с функциями, которые охватывают много вопросов на начальном уровне. | + | |
| - | + | ||
| - | === Язык# === | + | |
| - | + | ||
| - | Мы любим [[https://www.typescriptlang.org/|TypeScript]], но больше всего — [[https://nodejs.org/en/|Node.js]]. Вот почему Nest совместим как с TypeScript, так и с **чистым JavaScript**. Nest использует преимущества новейших функций языка, поэтому для использования его с ванильным JavaScript нам нужен компилятор [[https://babeljs.io/|Babel]]. | + | |
| - | + | ||
| - | В наших примерах в основном мы будем использовать TypeScript, но вы всегда можете **переключить фрагменты кода** на стандартный синтаксис JavaScript (просто нажмите кнопку языка, чтобы переключить язык, в правом верхнем углу каждого фрагмента). | + | |
| - | + | ||
| - | === Предварительные требования# === | + | |
| - | + | ||
| - | Пожалуйста убедитесь что установлен [[https://nodejs.org|Node.js]] (не менее 12 версии, за исключением 13 версии) в вашей операционной системе. | + | |
| - | + | ||
| - | === Установка# === | + | |
| Создать новый проект c помощью [[:cli:overview|Nest CLI]] очень легко. С установленным [[https://www.npmjs.com/|yarn]] , вы можете создать новый проект Nest в терминале ОС с помощью следующих команд: | Создать новый проект c помощью [[:cli:overview|Nest CLI]] очень легко. С установленным [[https://www.npmjs.com/|yarn]] , вы можете создать новый проект Nest в терминале ОС с помощью следующих команд: | ||
| - | <code> | + | <code bash> |
| $ yarn global add @nestjs/cli | $ yarn global add @nestjs/cli | ||
| Строка 23: | Строка 9: | ||
| </code> | </code> | ||
| - | > **Подсказка** Для создания нового проекта с включенным [[https://www.typescriptlang.org/tsconfig#strict|строгим режимом]] TypeScript, необходимо добавить флаг ''--strict'' в команде ''nest new''. | + | <note> **Подсказка** Для создания нового проекта с включенным [[https://www.typescriptlang.org/tsconfig#strict|строгим режимом]] TypeScript, необходимо добавить флаг ''--strict'' в команде ''nest new''.</note> |
| При это будет создан катлог для нашего проекта с указанным нами именем ''<имя_проекта>'', в котором будет находиться папка с установленными модулями ''node_modules'' и несколько шаблонных файлов, а также будет создан каталог ''src/'' и заполнен несколькими основными файлами. | При это будет создан катлог для нашего проекта с указанным нами именем ''<имя_проекта>'', в котором будет находиться папка с установленными модулями ''node_modules'' и несколько шаблонных файлов, а также будет создан каталог ''src/'' и заполнен несколькими основными файлами. | ||
| - | src | + | {{:nodejs:frameworks:nestjs:1.png|}} |
| - | + | ||
| - | app.controller.spec.ts | + | |
| - | + | ||
| - | app.controller.ts | + | |
| - | + | ||
| - | app.module.ts | + | |
| - | + | ||
| - | app.service.ts | + | |
| - | + | ||
| - | main.ts | + | |
| Описание основных файлов: | Описание основных файлов: | ||
| Строка 51: | Строка 27: | ||
| main.ts | main.ts | ||
| - | JS TS | ||
| - | <code> | + | <code javascript> |
| import { NestFactory } from '@nestjs/core'; | import { NestFactory } from '@nestjs/core'; | ||
| Строка 65: | Строка 40: | ||
| </code> | </code> | ||
| - | <code> | + | |
| + | JS TS | ||
| + | <code javascript> | ||
| import { NestFactory } from '@nestjs/core'; | import { NestFactory } from '@nestjs/core'; | ||
| Строка 81: | Строка 58: | ||
| Обратите внимание, что проект, созданный с помощью Nest CLI, создает начальную структуру проекта, которая побуждает разработчиков следовать соглашению о хранении каждого модуля в отдельном каталоге. | Обратите внимание, что проект, созданный с помощью Nest CLI, создает начальную структуру проекта, которая побуждает разработчиков следовать соглашению о хранении каждого модуля в отдельном каталоге. | ||
| - | > **Подсказка** По умолчанию, если при создании приложения произойдет какая-либо ошибка, ваше приложение звершится с кодом ''1''. Если вы хотите, чтобы он выдавал ошибку, вместо этого отключите параметр ''abortOnError'' (напр., ''NestFactory.create(AppModule, { abortOnError: false })''). | + | <note> **Подсказка** По умолчанию, если при создании приложения произойдет какая-либо ошибка, ваше приложение звершится с кодом ''1''. Если вы хотите, чтобы он выдавал ошибку, вместо этого отключите параметр ''abortOnError'' (напр., ''NestFactory.create(AppModule, { abortOnError: false })'').</note> |
| === Платформа# === | === Платформа# === | ||
| Строка 94: | Строка 71: | ||
| Когда вы передаете тип методу ''NestFactory.create()'', как в примере ниже, объект ''app'' будет иметь методы, доступные исключительно для этой конкретной платформы. Однако обратите внимание, что вам не **нужно** указывать тип, за исключением если вы дейтсвительно хотите получить доступ к лежащий в основе API платформы. | Когда вы передаете тип методу ''NestFactory.create()'', как в примере ниже, объект ''app'' будет иметь методы, доступные исключительно для этой конкретной платформы. Однако обратите внимание, что вам не **нужно** указывать тип, за исключением если вы дейтсвительно хотите получить доступ к лежащий в основе API платформы. | ||
| - | <code> | + | <code javascript> |
| const app = await NestFactory.create<NestExpressApplication>(AppModule); | const app = await NestFactory.create<NestExpressApplication>(AppModule); | ||
| Строка 103: | Строка 80: | ||
| После завершения процесса установки, чтобы запустить приложение (прослушивающее входящие HTTP-запросы) в командной строке ОС выполните следующую команду: | После завершения процесса установки, чтобы запустить приложение (прослушивающее входящие HTTP-запросы) в командной строке ОС выполните следующую команду: | ||
| - | <code> | + | <code bash> |
| $ yarn start | $ yarn start | ||
| Строка 112: | Строка 89: | ||
| Чтобы отслеживать изменения в ваших файлах, вы можете запустить следующую команду для запуска приложения: | Чтобы отслеживать изменения в ваших файлах, вы можете запустить следующую команду для запуска приложения: | ||
| - | <code> | + | <code bash> |
| $ yarn start:dev | $ yarn start:dev | ||
| Строка 118: | Строка 95: | ||
| Эта команда будет следить за вашими файлами, автоматически перекомпилируя и перезагружая сервер. | Эта команда будет следить за вашими файлами, автоматически перекомпилируя и перезагружая сервер. | ||
| - | |||
| - | ==== Подпишитесь на нашу рассылку ==== | ||
| - | |||
| - | Подпишитесь, чтобы быть в курсе последних обновлений, функций и видео Nest! | ||
| - | |||
| - | Авторские права © 2017-2022 MIT by [[https://kamilmysliwiec.com|Kamil Mysliwiec]] design by [[https://dribbble.com/JakubStaron|Jakub Staron]]\\ Official NestJS Consulting [[https://trilon.io|Trilon.io]] hosted by [[https://www.netlify.com|Netlify]] | ||