node中的增删改查-Express-crud

Express-crud

起步

  • 初始化
  • 模块化思想
  • 模块职责 要单一

路由设计

请求方法请求路径get参数post参数备注
GET/students渲染首页
GET/students/new渲染添加学生页面
POST/students/newname,age, gender,hobbies处理添加学生 请求
GET/students/editid渲染编辑页面
POST/students/editid,name,age, gender,hobbies处理编辑请求
GET/students/deleteid处理删除 请求

提取路由模块

router.js

// router.js路由模块
// 职责:
//  处理路由
//  根据不同的请求方法+请求路径设置具体的请求处理函数
// 模块职责要单一,不要乱写 
// 我们划分模块的目的就是为了增强项目代码的可维护性
// 提升开发效率


var fs=require('fs')

//Express提供了一种更好的方式
//专门用来包装 路由的
var express=require('express')
//1.创建一个路由容器
var router=express.Router()

//2.把路由都挂载到router路由容器中

	router.get('/students',  function(req, res) {
	fs.readFile('./db.json', 'utf8', function(err, data) {
				if (err) {
					return res.status(500).send('Server error.')
				}
				//从文件中读取到的数据一定是字符串
				//所以这里一定要手动转成对象
				var students = JSON.parse(data).students
				res.render('index.html', {
					fruits: [
						'苹果 ',
						'香蕉',
						'橘子',
					],
					students: students
				})
			})
	})
	
	router.get('/students/new',  function(req, res) {
	res.render('new.html')
	})
	router.post('/students/new',  function(req, res) {
	//1.获取表单数据
	//2.处理
	//  将数据保存到db.json文件中用于持久化
	//3.发送响应
	//先读取出来 转成对象
	//然后往对象中push数据
	//然后把对象转为字符串
	//然后把字符串再次写入文件
	console.log(req.body)
	})
	router.get('/students/edit',  function(req, res) {
	
	})
	router.post('/students/edit',  function(req, res) {
	
	})
	router.get('/students/delete',  function(req, res) {
	
	})

//3.把router导出
module.exports=router

app.js

var router = require('./router')
//挂载路由
app.use(router)

##设计操作数据的API文件模块

// sutedent.js
// 数据操作文件模块
 // 职责:操作文件中的数据,只处理数据,不关心业务
 var fs=require('fs')
 
 // 获取所有学生列表
 exports.find=function(){
	 
 }
 
 // 添加保存 学生
 exports.save=function(){
 	 
 }
 
 
 // 更新学生
 exports.update=function(){
 	 
 }
 
 //删除学生 
 exports.delete=function(){
 	 
 }
 

自己编写的步骤

1.处理模板
2.配置开放静态 资源
3.简单路由:/students渲染静态页面出来
4.路由设计
5.提取路由模块
6.接下来一系列的引入业务操作都需要处理文件数据,所以我们需要封装students.js
7.先写好student.js文件结构
查询所有学生列表的APIfind
findById
save
updateById
deleteById
8.实现具体功能
通过 路由收到请求
接收请求中的数据
req.query
req.body
调用数据操作API处理数据
根据操作 结果给客户端发送 响应
9.业务功能数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值