Добро пожаловать
Как мы знаем, в 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, создание нашей структуры и разделение нашего кода.