Utilisez express framework + mongodb pour créer rapidement des projets back-end

Tout d'abord, l'environnement de nœud inutile de dire

Ensuite, nous utilisons un générateur express d'échafaudage express

Créez rapidement des répertoires de projets

Installer express-generator globalement

npm i -g express-generator
复制代码

Utilisez ensuite la commande express pour créer le projet, programnem est le nom de votre dossier de projet

express <programname>
复制代码

Ensuite, nous avons un répertoire de projet express complet, entrez le dossier du projet ->

## 安装依赖
npm install

## 运行项目
npm run start
复制代码

Entrez localhost:3000 dans le navigateur, vous pouvez voir l'interface suivante

Mais nous avons constaté que si nous modifions le fichier, la page ne changera pas, il faut redémarrer npm start, c'est parce que start n'est pas une mise à jour à chaud.

À ce stade, nous pouvons installer des dépendances nodemon et utiliser nodemon pour exécuter nos services

Installez nodemon et utilisez

npm i -S nodemon
复制代码

Ouvrez package.json

旧代码
"scripts": {
  "start": "node ./bin/www"
},

新代码"scripts": {
  "dev": "nodemon ./bin/www",
  "start": "node ./bin/www"
},

增加了 ——> "dev": "nodemon ./bin/www",
复制代码

À ce stade, nous courons  

npm run dev
复制代码

On constate qu'après avoir modifié le code, le contenu de la page changera, et il n'est pas nécessaire de le relancer.

Tout ce qui a été dit ci-dessus, je l'ai trouvé un peu long, mais je veux le rendre aussi clair que possible.

Ensuite, je vais accélérer.

Modification de la structure du répertoire

J'aime placer le dossier routes dans un dossier src séparé. Sous src, je crée généralement d'autres dossiers, comme indiqué ci-dessous

À titre de comparaison, j'ai également créé un nouveau dossier de configuration à l'extérieur pour stocker les configurations publiques, telles que les signatures jwt, les appids et les clés secrètes pour les connexions applet, etc.

Installer et utiliser la base de données mongodb

Ce qui précède est la création de la structure du répertoire, la prochaine étape est le lien de la base de données, le fonctionnement du modèle

安装mongoose依赖
npm i -S mongoose
复制代码

Sous le dossier db, créez un nouveau mongodb.js

// 引入 mongoose 
const mongoose = require('mongoose')

// 连接数据库,自动新建 ExpressApi 库
mongoose.connect('mongodb://localhost:27017/ExpressApi', {
  useNewUrlParser: true, // 避免“不建议使用当前URL字符串解析器”
  useCreateIndex: true, // 解决MongoDB弃用警告
  useUnifiedTopology: true, // 解决连接报错问题
  useFindAndModify: false
})

module.exports = mongoose
复制代码

Ensuite, nous créons un nouveau fichier modèle sous le dossier modèle, tel que User.js

Ici, il est recommandé que le fichier modèle soit nommé avec une grosse bosse

Utilisateur.js

// 引入mongodb
const mongoose = require('../db/mongodb')
const bcrypt = require('bcrypt')
// 建立用户表
const UserSchema = new mongoose.Schema({
    username: {
        type: String,
        unique: true
    },
    password: {
        type: String,
        set(val){
            return bcrypt.hashSync(val, 10)
        },
        select: false
    },
    createTime: {
        type: Date,
        default: Date.now
    },
    updateTime: {
        type: Date,
        default: Date.now
    }
})

// 建立用户数据库模型
const User = mongoose.model('User', UserSchema)
module.exports = { User }
复制代码

Le modèle d'utilisateur le plus basique comprend généralement le nom d'utilisateur et le mot de passe, ainsi que l'heure de création, l'heure de mise à jour,

le cryptage de mot de passe bcrypt est également utilisé ici  

npm i -S bcrypt
复制代码

Une fois le modèle de base de données créé, nous pouvons l'utiliser dans la route

Par exemple, nous utilisons dans routes/users.js

var express = require('express');
var router = express.Router();
const { User } = require('../model/User')

// 用户注册
router.post('/register', async (req, res, next) => {
  const user = await User.create({
    username: req.body.username,
    password: req.body.password
 }) 
 res.send(user)
});

// 获取用户信息
router.get('/info', async (req, res, next) => {
  const user = await User.findOne({
    _id: req.user_id  })
  res.send({
    code: 200,
    data: user
  })
})

// 获取用户列表
router.get('/list', async(req, res, next)=>{
  const user = await User.find()
  res.send({ 
   code: 200,
    msg: '获取成功',
    data: user
  })
})

module.exports = router;
复制代码

Ce qui précède est l'utilisation d'une simple base de données mongodb

Afin de vérifier que notre code fonctionne, nous pouvons utiliser l'outil de débogage d'interface pour tester

Ici, j'utilise le plug-in REST Client de vscode pour les tests,

Vscode recherche le plug-in REST Client et l'installe

Créez ensuite un nouveau fichier .http dans le répertoire racine du projet

// test.http@url=http://localhost:3000

### 获取用户列表
get {
   
   {url}}/users/list

### 注册账号
POST {
   
   {url}}/users/register
Content-Type: application/json

{
  "username": "user3",
  "password": "123456"
}
复制代码

Ci-dessus, nous avons un projet de base simple basé sur express+mongodb, et voici seulement des exemples d'opérations de base de données pour l'ajout et l'interrogation.

Le développement ultérieur est en fait le code qui réalise les fonctions métier, ce qui est en fait relativement simple.Si vous ne le connaissez pas, vous pouvez aller sur Baidu, et il existe de nombreux tutoriels connexes sur Internet.

Auteur : Zen Yixia
Lien : https://juejin.cn/post/6931253375195414535
Source : Rare Earth Nuggets
Le droit d'auteur appartient à l'auteur. Pour une réimpression commerciale, veuillez contacter l'auteur pour autorisation, pour une réimpression non commerciale, veuillez indiquer la source.

Je suppose que tu aimes

Origine blog.csdn.net/qq_45530512/article/details/130422927
conseillé
Classement