Node.js 使用express搭建后台服务器 ( 基础篇 )

一、介绍

Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具以及中间件

二、引入

let express = require('express') // 引入express
let app = express() // 相当于 http.createServer(app)

// 访问根路由
app.get('/',(request,response) => {
	res.send('Hello World')
})

// 监听3000端口
let server = app.listen(3000, '127.0.0.1', () => {
	let host = server.address().address // host域
	let port = server.address().port // 端口号
	
	console.log(`Server running at http://${host}:${port}`)
})

基本的一个服务器就搭建完毕了

我们访问 http://127.0.0.1:3000
在这里插入图片描述
三、请求和响应

我们看到回调函数具有 request 和 response 俩个对象,他们分别代表 请求和响应

Request 对象

request 对象表示 HTTP 请求报文,包含了请求头,请求体

常见的属性:

名称 作用
request.app 当callback为外部文件时,用req.app访问express的实例
request.baseUrl 获取路由当前安装的URL路径
request.cookies 获取Cookie
request.hostname 获取主机名
request.ip 获取IP地址
request.originalUrl 获取原始请求url
request.path 获取请求路径
request.query 获取URL查询字符串
request.route 获取当前匹配的路由
request.accepts() 获取可接受的请求文档类型
request.get() 获取指定的请求头
request.is() 判断请求头Content-Type的MIME类型

Response 对象

request 对象表示 HTTP 响应报文,代表请求后的响应数据

常见的属性有:

名称 作用
response.app 当callback为外部文件时,用req.app访问express的实例
response.append() 添加相应头
response.set() 在res.append()后将重置之前设置的头
response.cookie(name,value [,option]) 设置Cookie
response.clearCookie() 清除Cookie
response.download() 传输指定类型的文件
response.get() 返回指定的响应头
response.json() 传输json
response.jsonp() 传输jsonp
response.redirect() 设置响应的Location HTTP头,并且设置状态码302
response.render(view,[locals],callback) 渲染一个view
response.send() 传输响应
response.sendFile(path [,options] [,fn]) 传送指定路径的文件 -会自动根据文件extension设定Content-Type
response.set() 设置HTTP状态码
response.type() 设置Content-Type的MIME类型

Express – 路由

响应HTTP请求的路径

let express = require('express')
let app = express()

// 包含请求方式,路径,回调函数
app.get('/list', (req, res) => res.send('list'))
app.post('/add', {req, res} => res.send('add'))
app.put('/fix', {req, res} => res.send('fix'))
app.delete('/delete', {req, res} => res.send('delete'))

Express – 搭建静态资源库

Express 提供了内置的中间件 express.static 来设置静态文件如:图片, CSS, JavaScript 等。

直接通过路径访问public下面的资源

app.use(express.static('public'))

也可以加一层目录

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

访问 http://127.0.0.1:3000/public/logo.png
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章