美文网首页
Express 总结

Express 总结

作者: 加油吧_ | 来源:发表于2020-07-12 01:04 被阅读0次

Express 基本概念

子应用

var app = express() // 主应用
var admin = express() // 另外一个应用
app.use('/admin', admin) // admin 作子应用

挂载点

  • "/admin" 就是 admin 的挂载点

Express API 总结

express.xxx - 内置中间件

json([option])

内置中间件,解析传入的请求

app.use(express.json())
app.use((request, response, next) => {
    const jsonObj = request.body 
})

static(root,[option])

内置中间件为,创建一个静态文件服务器,根据 req.url 来寻找对应的文件

text([option])

内置中间件,将传入的请求参数解析为字符串

Router([option])

创建一个 router 对象,对路由进行响应

app.xxx - 应用设置

app.set(name , value)

存储一个变量

app.get(name)

获取变量

app.get("/xxx", fn)

对 get /xxx 的响应

app.post / put /delete

对对应的的请求方法进行响应

app.use([path, ] callback [, callback])

使用中间件进行全局的处理
对应的路由进行响应

request.xxx - 操作请求

request.baseUrl

路由的 URL 路径

request.body

请求体

request.params

/user/:name 中 name 变量

request.path

example.com/user?id=1 => "/user"

request.query

/seatch?a=1&b=2 req.query.a => 1

  • request.get() // 获取请求头中信息

  • request.param()

    // ?name=tobi
    req.param('name')
    // => "tobi"  
    

respones.xxx - 操作响应

send([body])

res.send({ some: 'json' })

render(view [, locals] [, callback])

渲染view, 同时向callback 传入渲染后的字符串

res.render('user', { name: 'Tobi' }, function(err, html){
  // ...
});

status()

设置状态码

set()

设置响应头

res.set({
  'Content-Type': 'text/plain',
  'Content-Length': '123',
  'ETag': '12345'
})

format()

设置特定请求头的响应

res.format({
  'text/plain': function(){
    res.send('hey');
  },
  'text/html': function(){
    res.send('hey');
  },
  'application/json': function(){
    res.send({ message: 'hey' });
  }
})

get()

返回一个大小写不敏感的响应头的值

res.get('Content-Type');
// "text/plain"

router.xxx - 操作路由

router.all(path, [callback, ... ] callback)

与 methods 相同,适配所有的方法

router.methods(path, fn)

get/post/put/delete/update 对应的请求方法进行响应

router.param(name, callback)

构造一个参数触发器,根据参数出发回调
即使参数在多个路由中匹配,在请求-响应周期中也仅会调用一次参数回调

router.param('id', function (req, res, next, id) {
  console.log('CALLED ONLY ONCE')
  next()
})

router.get('/user/:id', function (req, res, next) {
  console.log('although this matches')
  next()
})

router.get('/user/:id', function (req, res) {
  console.log('and this matches too')
  res.end()
})
/*print
CALLED ONLY ONCE
although this matches
and this matches too
*/

router.use([path], [function], funtion)

中间件的使用或者对路由的响应

router.route(path)

返回单个路由的实例,然后您可以使用该路由使用可选的中间件来处理HTTP动词。使用router.route()以避免重复请求的响应

router.route('/users/:user_id')
  .all(function (req, res, next) {
    // runs for all HTTP verbs first
    // think of it as route specific middleware!
    next()
  })
  .get(function (req, res, next) {
    res.json(req.user)
  })
  .post(function (req, res, next) {
    next(new Error('not implemented'))
  })
  .delete(function (req, res, next) {
    next(new Error('not implemented'))
  })

相关文章

  • Express 总结

    Express 基本概念 子应用 挂载点 "/admin" 就是 admin 的挂载点 Express API 总...

  • express项目总结

    使用express应用生成器搭建项目 使用一下命令安装生成器 使用-h 查看命令选项 创建名为node-stick...

  • express开发总结

    1.概述 Express 是一个自身功能极简,完全是由路由和中间件构成一个的 web 开发框架:从本质上来说,一个...

  • Express API 总结

    一、 express.xxx express.json 这是个中间件,用来将请求体进行JSON转换(如果可以进行J...

  • Express API总结

    Express API主要分为五部分: express.xxx 内置中间件 app.xxx 应用设置(如模板配置、...

  • express入门总结

    1.Express框架 1.1 express是什么? 创建http服务器特别麻烦,express框架解决了这个的...

  • Express API 总结

    1、express 相关 API: express.json(options)这是Express中内置的中间件功能...

  • Express API 总结

    本文以express 4.xx版本为准 express.xxx相关 express.json() 作用:将请求中C...

  • express 基础以及mongo基础

    express框架 express使用步骤 express的路由 express之next方法 express之通...

  • Express项目结构总结

    站酷建站的后台管理系统是基于node.js平台的Express框架构成,这是一个极简、灵活的 web 应用开发框架...

网友评论

      本文标题:Express 总结

      本文链接:https://www.haomeiwen.com/subject/mxowcktx.html