前言:需要下载的包
第一步 使用命令
创建app.js
npm init -y 初始化
第二步
npm i 包名
例:
第三步
在app.js中导入
const express = require('express')
const path=require('path')
const app = express()
// 处理post,put请求需要对参数进行的处理 app.use(bodyParser.urlencoded({ extended: false })) app.use(bodyParser.json())
// 处理静态资源 -- express.static(静态资源存放的路径) app.use(express.static(path.join(__dirname,'/public')))
// 跨域处理cors app.use('*',(req,res,next)=>{ next()})
第四步:使用MVC请求数据
例:
const cateRouter=require('./routes/cateRouter')
// 请求
app.use('/category',cateRouter)
第一层:routes中间桥梁层(路径层)
例:
const express=require('express')
const cateRouter=express.Router()
const cateController=require('../controller/cateController')
cateRouter.get('/queryTopCategory', cateController.handlequeryTopCategory)
module.exports=cateRouter
第二层:Controller 逻辑层
例:
const { getqueryTopCategory, getquerySecondCategory, getqueryThirdCategory} = require("../model/cateModel") 注:此为调Model层操作数据方法
exports.handlequeryTopCategory=async (req, res) => {
let data = await getqueryTopCategory()
res.send(data)
}
第三层:model层(sql语句层)
const {db}=require('../util/db')注:这里将连接数据库打包成一个模块进行引用
exports.getqueryTopCategory=async ()=>{
let data = await db('select id,categoryName,isDelete from category;')
return data
}
第五步:将多次复用的功能进行模块打包
创建db.js文件(连接数据库)
const mysql = require('mysql2/promise')
exports.db = async (sql, arr) => {
const connection = await mysql.createConnection({
host: "localhost",
user: "root",
password: "123456",
database: "letao",
});
const [data] = await connection.execute(sql, arr);
connection.end();
return data
}
完成!