今天分享的内容是模块化思维 ,在项目中需要分类模块化对项目数据进行归类

pool.js是mysql的连接池
routes文件夹里放路由器目录,里面可以放项目路由的小文件夹
app.js是web服务器
1.在app.js下使用express创建web服务器,引入关于汉唐路由器(./routes/about.js),挂载路由器,添加前缀 /v1/about,设置端口全部过程如下
//引入express模块
const express=require('express')
//引入关于汉唐路由器模块
const aboutRouter=require('./routes/about.js')
//console.log(ur)
//创建WEB服务器
const app=express()
//设置端口
app.listen(3000,()=>{
console.log('服务启动完工');
})
//将所有post传参转为对象(一定放在路由器的前边)
app.use(express.urlencoded({
extended:true
}))
//挂载路由器,给路由添加前缀/v1/about
app.use('/v1/about',aboutRouter)
// 在所有路由器后面,添加错误处理中间件,拦截路由器中所有错误
app.use((err,req,res,next)=>{
// err路由中传递过来的错误信息
console.log(err);
// 响应服务器端错误
res.send({code:500,msg:'服务器端错误'})
})
2.在about.js,创建路由器对象,添加路由(get /),暴露路由器对象,引入连接池模块( ../pool.js),执行SQL名称,到数据表ht_about中查询编号对应的数据
// 引入模块
const express = require('express')
//引入连接池模块
const pool = require('../pool.js')
//创建路由器对象
const router = express.Router()
// 添加路由
// 1. 关于汉唐( 公司简介1/董事长致辞2 )的接口 (get /info)
// 接口地址 :http://127.0.0.1:3000/v1/about/info
// 请求方法:get
// 获取params传递的参数
// 查询
router.get('/info/:aid', (req, res, next) => {
var obj = req.params
console.log(obj);
// router.query('')
// res.send('公司简介')
// ht_about中查询编号对应数据
pool.query('select * from ht_about where aid=?', [obj.aid], (err, r) => {
if (err) {
// 如果有错误,把错误交给下一个中间件
// 阻止往后执行 return
return next(err)
}
console.log(r);
res.send({ code: 200, msg: '查询成功', date: r })
})
})
// 公司大事件
router.get('/event', (req, res, next) => {
var obj = req.body
console.log(obj);
pool.query('select * from ht_event where eid=?', [obj.eid], (err, r) => {
if (err) {
return next(err)
}
console.log(r);
res.send({ code: 200, msg: '公司大事件', date: r })
})
})
// 旗下公司
router.get('/member', (req, res, next) => {
console.log(1);
pool.query('select * from ht_member ',(err, r) => {
if (err) {
return next(err)
}
console.log(r);
res.send({ code: 200, msg: '旗下公司', date: r })
})
})
// 暴露连接池对象
module.exports = router
3.在pool.js中,引入mysql模块,创建连接池对象(hantang),暴露连接池对象

然后可以请求接口获取数据



原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/289959.html