Express 体验 路由、模板引擎、中间件

http://expressjs.com/en/4x/api.html#req.method

http://expressjs.com/en/guide/routing.html

【Route paths】路由参数=路径参数   对应console.dir(req.params)

以此来支持动态URL,于是请求一个资源可以是 /resource/:id 甚至可以用正则 /resource/1?

【Query string】查询字符串=queryParams 对应console.dir(req.query)

【req.body 请求正文】

【使用Postman工具mock一下Post请求】省去了建立表单的时间

【使用body-parser中间件处理post请求(在handler之前)】https://github.com/expressjs/body-parser

【使用multer中间件上传文件】https://www.npmjs.com/package/multer

【使用模板引擎ejs】ejs.co

1.挺像jsp表达式 <%= %>,简单使用路径参数(req.params)就可以完成客户端和服务器端通信

2. app.set('view engine','ejs')

【使用中间件处理】app.use(path,cb)

假设存在 mid1->mid2    即mid1调用next传递给mid2    当mid2执行完控制权转移返回到mid1所以存在mid2->mid1。

综上所述,有mid1<=>mid2这样一个过程,传过去传回来。

【实例,Express内建的中间件处理静态资源】app.use('/public',express.static('public'))

【中间件实现 路由的分离】server > router + handler 即 app.use('/',indexRouter)

……………………………………………………………………………………………………………………………………

Todolist小项目

初始化  npm init > npm install --save express ejs body-parser 

【MVC】Controller = router + handler

【写页面】需要有jq+css,一般属于public文件夹下静态资源,拿过来用,到Controller用GET方法展示一个表单(提供之后添加一个条目的能力)。

【实现功能】

增:借助body-parser解析请求正文req.body

删:使用data.filter(condition) //condition为true留下

查:客户端forEach

【持久化】使用mongoose https://github.com/Automattic/mongoose

app.use('/assets', express.static('public'));

猜你喜欢

转载自www.cnblogs.com/chenhui7373/p/8910525.html