node.js使用express搭建服务器

express搭建服务器

//web服务器
const express = require("express")
const url = require("url")

// 处理请求体中post传递的参数
const bodyParser = require("body-parser")

const goodsRouter = require("./router/goodsRouter")
const usersRouter = require("./router/usersRouter")

//创建一个服务器应用
const app = express()
const port = 3000

//处理静态资源请求
app.use(express.static('public'))

//拦截所有请求
//extended:false 方法内部使用querystring模块处理请求参数的格式
//extended:true 方法内部使用第三方模块qs处理请求参数的格式
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({
     extended:false}))


//该中间件处理所有的请求
app.use('/',(req,res,next)=>{
     
    req.flag = 'lucky';
    next()
})
//该中间件会拦截所有以/goods开始的路径的请求
app.use('/goods',(req,res,next)=>{
     
    req.flag = 'lucky';
    next()
})

// 商品发布的功能
// /goods/create   /goods/delete  /goods/update  /goods/list

// 所有以/goods开始的路径都会被goodsRouter处理
app.use('/goods', goodsRouter)


// 用户管理的功能
// /users/create   /users/delete  /users/update  /users/list
app.use('/users',usersRouter)


//路由
app.listen(port,()=>{
     
    console.log(`服务器已经启动在${
     port}端口`)
})

express与路由连接

const express = require("express")
const router = express.Router()
const url = require("url")


// /goods/create
router.post('/create',(req,res)=>{
     
    console.log(req.body)
    res.send('goods-ok')
})

// /goods/delete
router.get('/delete',(req,res)=>{
     
    console.log(req.query)
    res.send('goods-delele')
})

router.get('/update',(req,res)=>{
     
    res.send(req.flag)
})

router.get('/list',(req,res)=>{
     
    console.log(url.parse(req.url,true).query)
    res.send('goods-list')
})

module.exports = router;

你可能感兴趣的:(nodejs)