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.