Express
基于 Node.js 平台,快速、开放、极简的 Web (web应用 网站 ) 开发框架
express的使用方法有这么两种:
-
直接使用express-generator工具生成一个项目模板
-
调用express函数生成一个app应用并且编写大量中间件来进行自定义的使用
简单使用方式:
-
可以利用express函数来创建一个app应用
-
app.listen(). 可以启动应用
-
中间件 (middleware )
express中有一个很神奇的东西就叫中间件,顾名思义意思就是在一个完整的应用流程中去执行一些事情
-
自定义中间件,根据请求来实现一些自定义的操作
-
资源管理中间件 express.static(‘public’)
-
路由中间件 处理请求和响应
可以通过app.get/post/all…方法来配置一个一个的路由,当然我们一般都会将这些路由抽离出去
抽离出来的路由模块中利用express.Router来创建一个一个的路由中间件 ,然后在入口文件中利用app.use来使用这些中间件
app.use(’/’, index) -> 当req.url 为/开头的,就去index路由中间件中进行匹配,匹配不到的话再进入下一个能匹配到的路由中间件进行匹配
app.use(’/api’, api)
-
app.use((req, res, next) => { next(); }) 可以再某一个时刻去执行一个事情(取决于写在哪里),next代表下一步动作
-
-
参数问题
参数一般有这么几种:
-
path-params 路径参数 (get/post)
eq: http://localhost:3000/api/goodinfo/3 其中3就是我们要得到的参数
router: router.get(’/goodinfo/:id’,
get : req.params
-
querystring 查询字符串参数 (get/post)
eq http://localhost:300/api/goodinfo?id=…&age=…
router: router.get(’/goodinfo’,
get : req.query -
form-data 表单参数 (post) 取决于请求头中content-type = ‘application/x-www-form-urlencoded; charset=UTF-8’
get : req.body 注意,需要body-parser中间件来处理
-
request payload (post) 取决于请求头中content-type = ‘application/json; charset=UTF-8’
注意,jq非得把对象转成qs,所以我们可以先转成字符串…
get: req.body 注意,也需要body-parser
-
cookie怎么办?其实可以使用cookie-parser中间件,其实cookie-parser/body-parser只是将req上的一些数据处理之后又挂载在了req上面