Node后台项目的包

项目开始

Node后台项目常用到的包

添加express包(整个后台框架)

npm i express@4.17.1
// 导入 express 模块
const express = require('express')
// 创建 express 的服务器实例
const app = express()

// todo

// 调用 app.listen 方法,指定端口号并启动web服务器
app.listen(3000, () => {
  console.log('Express server running at http://127.0.0.1:3000')
})

添加mysql包

npm i mysql@2.18.1
const mysql = require('mysql')

const db = mysql.createPool({
  host: '127.0.0.1',
  user: 'root',
  password: 'root',
  database: 'mydb'
})

module.exports = db

添加跨域包

npm i cors@2.8.5
// 导入并配置 cors 中间件
const cors = require('cors')
app.use(cors())

安装JWT的包:jsonwebtoken 用于生成JWT字符串 express-jwt 用于将JWT字符串解析还原成JSON对象

npm i jsonwebtoken
npm i express-jwt@5.3.3
// 引入jsonwebtoken和express-jwt
const jwt = require('jsonwebtoken')
const expreeJWT = require('express-jwt')
// 定义秘钥
const secretKey = 'Huangkg is very nice'
// 生成token
const tokenStr = jwt.sign({username:userinfo.username},secretKey,{expiresIn:'30s'})

// 将JWT字符串解析还原成JSON对象的中间件
app.use(expressJWT({secret:secretKey}).unless({path:[/^\/api\//]}))

添加“密码”加密包 bcryptjs

npm i bcryptjs@2.4.3
// 导入 bcryptjs 这个包
const bcrypt = require('bcryptjs')

// 调用 bcrypt.hashSync() 对密码进行加密
userInfo.password = bcrypt.hashSync(userInfo.password, 10)

安装表单验证

// 安装@escook/express-joi中间件,对表单进行验证
npm i @escook/express-joi
// 定义验证规则的包
npm i joi
// 导入验证表单数据的中间件
const expressJoi = require('@escook/express-joi')
// 导入需要的验证规则对象
const {
  reg_login_schema
} = require("../schema/user")

// 注册
router.post('/reguser', expressJoi(reg_login_schema), user_handler.regUser)

// 登陆
router.post('/login', expressJoi(reg_login_schema), user_handler.login)
schema/user.js
const joi = require('joi')

/** string() 值必须是字符串 
 * alphanum() 值只能是包含 a-zA-Z0-9 的字符串 
 * min(length) 最小长度 
 * max(length) 最大长度 
 * required() 值是必填项,不能为 undefined
 * pattern(正则表达式) 值必须符合正则表达式的规则 
 **/
const username = joi.string().alphanum().min(1).max(11).required()
const password = joi.string().pattern(/^[\S]{3,12}$/).required()

// 定义验证注册和登录表单数据的规则对象
exports.reg_login_schema = {
  body: {
    username,
    password
  }
}
希望对大家能有帮助,还会持续更新有用的包。。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值