路由与路由拆分

190 阅读1分钟

什么是路由

路由: 服务端, 定义一个资源,客户端可以路由到这个资源并进行访问

格式

app.method(资源地址,函数,next函数[决定是否继续往下执行])

几种路由的格式

get

app.get('/', function (req, res) {
  res.send('Hello World!')
})

post

app.post('/', function (req, res) {
  res.send('Got a POST request')
})

put

app.put('/user', function (req, res) {
  res.send('Got a PUT request at /user')
})

delete

app.delete('/user', function (req, res) {
  res.send('Got a DELETE request at /user')
})

注册路由

//注册路由,post请求
//sign
app.post('/sign',(req,res)=>{
    res.send('注册成功!')
})
app.listen(3000,()=>console.log('监听3000端口,服务器启动成功'))

msedge_49Da3mUeEm.png

商品列表路由

//商品列表路由
app.get('/shop/list',(req,res)=>{
    res.send({
        code:1,
        list:[
            {
                numbue:1,
                name:'我是1',
                url:'www.woshiyi.com',
                price:1,
                num:0,
                state:false,
            },
            {
                numbue:2,
                name:'我是2',
                url:'www.woshier.com',
                price:1,
                num:0,
                state:false,
            },
            {
                numbue:3,
                name:'我是3',
                url:'www.woshisan.com',
                price:1,
                num:0,
                state:false,
            },
            
        ],
    })
})

msedge_te147JU2RA.png

路由拆分

PotPlayerMini64_dBUBFb16WV.png

路由拆分第二种方式

模块化

1.  每个js文件都可以看作一个模块 a.js b.js 每个js模块中定义的属性和方法都是私有的

    ```
    b.js              a.js
    export max()      import {max}  from './b.js'
    export {max}      max()
    export default {}   import A  from './b.js'
    ```
  • 后端commonjs模块化

    a.js                                   b.js
    let num = 100                          const {num,route} = require('./a.js')
    let route = {}                        
    module.exports = {num,route}
    module.exports = {}                   const A   = require('./a.js')
    

在route文件夹里的user.js

PotPlayerMini64_dBUBFb16WV.png

app_route.js

PotPlayerMini64_yBP4hNPN4E.png