Express是node js應用框架,當中包含了(路由,request,response....等功能)

安裝

npm install express --save

express是一個function,將他進行實例化

const express = require('express')
const app = express()
// express內建createServer,所以不用另外創建
app.listen(3000)

.use說明:

express是一個中間件,request發送透過⇒express處理後⇒response給客戶端

.use()設置中間件,可帶入三個參數(request, response, next⇒{})

app.use((req, res, next) => {
	// 跳轉至下個中間件
	next()
})

app.use((req, res, next) => {
	res.send('<h1>第二個中間件</h1>')
})

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/bd3d9b81-e85e-4f95-a1e4-12dafbb0eb89/001.png

在app.use中添加路由

app.use('/', (req, res, next) => {
	res.send('這是首頁')
})

引入express body-parser解析body

npm install body-parser --save
const bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({ extended: false }))

app.use('/product', (req, res, next) => {
	res.send(`${req.body}`)
})

export.route

// routes/admin.js
const express = require('express')
const router = express.Router()

router.get('/add-product', (req, res, next) => {
  res.send(
    '<form action="/product" method="POST"><input type="text" name="title" /><input value="提交" type="submit"/></form>'
  )
})

router.post('/product', (req, res, next) => {
  console.log(req.body)
  res.send(`${req.body.title}`)
})

module.exports = router

引入Router

// app.js
const app = express()
const adminRouter = require('./routes/admin')

app.use(adminRouter )

新增404錯誤頁面