
Node js - один из самых популярных языков за последние несколько лет. Существует так много ресурсов и библиотек, которые делают этот язык легким для изучения.
Требование
- Узел Js https://nodejs.org/ru/
- MongoDB https://docs.mongodb.com/manual/installation/
- Visual Studio Code / Atom / Sublime или другой текстовый редактор
- Терминал
- Почтальон https://www.getpostman.com/
- нпм или пряжа (в данном случае я использую пряжу)
- eslint
- nodemon
Если вы не используете пряжу, вы можете попробовать, установив пряжу. Получишь от этого чудо хахаха ...
npm install -g yarn
Качество кода - это вопрос долгосрочной разработки. Это потому, что чистый код может быть простым и общим для всех разработчиков, поэтому проект можно легко разрабатывать вручную. Eslint поможет нам соблюдать некоторые правила, которые помогут добиться наилучшего качества кода.
Иногда мы должны перезапустить наш сервер после того, как что-то изменили в коде. У нас не будет времени делать это повторно. Nodemon поможет нам автоматически перезапустить после внесения изменений.
Глобальная установка для eslint и nodemon
npm install -g eslint nodemon
Запустите службы базы данных MongoDB
mongod --auth
Следуйте этой команде в своем терминале, чтобы создать базу данных simple-api-dev с аутентификацией пользователя.
mongo
use simple-api-dev
db.createUser({
user: "admin",
pwd: "password",
roles: [{ role: "userAdmin", db: "simple-api-dev"}]
})
Создайте новую папку с именем simple-api, откройте терминал и откройте simple-api с помощью терминала. Держите терминал в папке project, потому что там много активности.
Первая инициализация
yarn init
Вы можете просто нажать Enter до конца или ответить на все вопросы.
name (simple-api): version (1.0.0): description: just a simple api entry point (index.js): repository url: author: [email protected] license (MIT): private: false
Команда сгенерирует package.json, как показано ниже.
Установите зависимости express, mongoose, mongoose-paginate, cors, morgan, body-parser, шлем
yarn add express mongoose mongoose-paginate cors morgan body-parser helmet
Мы используем структуру папок, подобную Rails. Создайте весь файл, как показано ниже.
| -- simple-api
|-- node_modules
|-- model
|-- index.js
|-- Post.js
|-- controller
|-- index.js
|-- PostController.js
|-- router
|-- index.js
|-- config
|-- index.js
|-- dev.js
|-- prod.js
|-- index.js
|-- .eslint
|-- .gitignore
`-- package.json
Создайте index.js в корневой папке проекта. Этот файл является ядром сервера. Есть 4 основных промежуточных программного обеспечения
- шлем, защитите экспресс-приложение с помощью различных HTTP-заголовков
- cors, фильтрация и установка разрешенного источника, который может получить доступ к серверу
- bodyParser, парсинг тела запроса на json
- morgan, регистратор HTTP-запросов
Вначале, до того, как сервер прослушает конкретный пост, сервер попытается подключиться к базе данных, используя библиотеку mongoose.
Откройте папку config и создайте index.js, dev.js и prod.js, дайте ему логику выбора конфигурации разработки или производственной конфигурации.
Создайте конфигурацию переменной в dev.js. Эта конфигурация является базовой для минимальных требований
Из корневой папки открываем папку модели. Создадим index.js и Post.js
Пост-модель поможет нам определить схему сбора постов в базе данных. Mongoose может вводить с помощью плагина, такого как mongoose-paginate, чтобы сделать функцию мгновенной разбивки на страницы для модели Post.
Снова вернитесь в корневую папку и откройте папку контроллера, создайте index.js и PostController.js.
Создавать, читать, обновлять и удалять люди называли CRUD. Это базовая функция для бэкэнда. Несколько вещей положат начало волшебству. :)
Почти готово, откройте папку маршрута, создайте index.js и напишите маршруты. Определите маршрут CRUD Post и соедините его с Контроллером.
И последнее, мы должны добавить скрипты в package.json. Эти скрипты помогают нам напрямую вызывать длинную команду, равную dev. Вы просто делаете это, чтобы вызвать команду
yarn dev
Это сделано! Протестируйте свой API с помощью Postman или вы также можете задокументировать и протестировать с помощью swagger. Продолжайте исследовать!
yarn dev
Если у вас есть вопросы или исправления, пожалуйста, сообщите мне! Надеюсь, тебе понравится! :)
Полный исходный код доступен здесь: