前言:需要下载的包
第一步 使用命令
创建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
}
完成!