Добро пожаловать

Как мы знаем, в nodejs мы можем построить все только в одном файле, который называется index.js, но это не очень хорошо для будущей разработки, поэтому здесь я представлю простую структуру и все объясню, чтобы вы начали организовывать архитектуру вашего проекта.

Если вы впервые используете nodejs, пожалуйста, установите nodejs, прежде чем подписываться на меня

  • Во-первых, мы начнем с создания новой папки Init nodejs и открытия нашего проекта узла с помощью vscode, как показано на снимке экрана ниже.

  • когда вы открываете vscode, вы найдете только один файл package.json
  • Во-первых, нам нужно установить экспресс, который представляет собой фреймворк nodejs, который упрощает нам многое,
    поэтому давайте откроем терминал vscode или любой другой и установим зависимости, которые нам нужны сейчас!
npm install express
  • давайте создадим наш первый файл, который называется app.js.
touch app.js
  • добавить этот код
const express = require("express");
const app = express();
app.use(express.json());
app.use("/", (req, res) => res.send("Hello world!"));
module.exports = app;
  • Здесь мы создаем наше экспресс-приложение. Во-первых, мы импортировали экспресс-инициализированный экспресс в приложение с постоянным именем и использовали express.json для обработки разбора JSON, отправляли текст Hello world при запросе маршрута «/» и, наконец, экспортировали его!
  • Теперь создайте наш server.js.
touch server.js
  • добавить этот код
const app = require("./app");
const port = 8000;
app.listen(port, () => {
console.log(`App running on ${port}...`);
});
  • Итак, как вы можете видеть, мы импортировали наш модуль приложения и создали наш порт, с которым приложение будет работать, и мы запустили наше приложение.
  • давайте запустим наш файл server.js!
node server.js

и это результат, что наше приложение работает на порту 8000

Теперь давайте посетим http://localhost:8000/, вы увидите Hello world!

  • Мы просто создаем наш Hello world с помощью nodeJS! Теперь давайте сделаем кое-что поинтереснее, создав простое сырое приложение для создания, чтения, обновления и удаления продуктов. Так что в этом случае нам нужно место для хранения данных! для этого мы будем использовать простую переменную, но в следующей главе мы будем использовать базу данных
  • Давайте добавим следующий код в файл app.js для создания и получения данных о товарах.
app.get("/products", (req, res) => {
  res.json(products);
});
app.post("/products", (req, res) => {
  const body = req.body;
  products.push(body);
  res.json(body);
});
  • Как вы можете видеть, мы только что вернули массив продуктов в формате JSON, когда мы делаем запрос на получение конечной точки /products, вторая функция позволяет нам добавить новый продукт в массив продуктов и вернуть данные, которые мы добавили. Теперь давайте выполним обновление и удаление части :
app.delete("/products/:id", (req, res) => {
  const id = req.params.id;
  const filtredProducts = products.filter((value, index) => index != id);
  products = filtredProducts;
  res.json(filtredProducts);
});
app.patch("/products/:id", (req, res) => {
  const id = req.params.id;
  const body = req.body;
  products[id] = body;
  res.json(products);
});
  • В этих строках кода мы только что сделали два маршрута: первый для удаления продукта, а второй для его обновления.
    Во-первых, мы взяли идентификатор и отфильтровали массив, чтобы взять продукты, которые не соответствуют нашему идентификатору, и обновил их отфильтрованными.
  • Во-вторых, мы обновили продукт, который получил тот же индекс, что и наш id, и обновили данные на тот, что в теле.

Наш окончательный код App.js:

const express = require("express");
let products = [];
const app = express();
app.use(express.json());
app.get("/products", (req, res) => {
  res.json(products);
});
app.post("/products", (req, res) => {
  const body = req.body;
  products.push(body);
  res.json(body);
});
app.delete("/products/:id", (req, res) => {
  const id = req.params.id;
  const filtredProducts = products.filter((value, index) => index != id);
  products = filtredProducts;
  res.json(filtredProducts);
});
app.patch("/products/:id", (req, res) => {
  const id = req.params.id;
  const body = req.body;
  products[id] = body;
  res.json(products);
});
app.use("/", (req, res) => res.send("Hello world!"));
module.exports = app;
  • Чтобы протестировать наш API, мы воспользуемся инструментом Postman.

  • Отправка почтового запроса на добавление товара**

  • Отправка запроса на получение товаров

  • Отправка запроса на удаление продукта

  • Отправка запроса на исправление для обновления продукта

Это было краткое введение в Express и nodejs, в следующих главах мы будем заниматься более интересными вещами, такими как использование MongoDB, создание нашей структуры и разделение нашего кода.