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
在這裏插入圖片描述

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