express-dirouter

1.0.1 • Public • Published

express-dirouter

依据 controller/service 的目录结构自动生成 express-router 路由配置( restful风格 )以及可通过this.service[filename]调用的方法集合

安装

    npm i -S express-dirouter

1.目录结构

  ├─app.js
  ├─controller
  │     └─test.js
  └─service
        └─one.js

2.具体应用

app.js

const express = require('express')
const app = express()
const port = 3000
const DiRouter = require('express-dirouter')
// 默认配置
app.use(new DiRouter())
/*
 自定义配置
 当controller/service目录在src目录下
 app.use(new DiRouter({
    controllerDir: 'src/controller'
    serviceDir: 'src/service'
 }))
*/
app.listen(port, () => console.log(`Example app listening on port ${port}!`))

service/one.js

// 例子导出了一个es6对象
module.exports = {
    async bb(){
        await 12;
        return 'bb'
    }
}

controller/test.js

// 例子导出了一个es6对象
module.exports = {
    async get(req, res) {
        const result = await this.service.one.bb()
        // result 会得到service例子返回的值 ‘bb’
        res.send(result)
    },
    post(req, res) {
        res.send('post is ok')
    },
    put(req, res) {
        const { id } = req.params
        res.send( id )
    }
}

3.运行结果

npm i -S express 安装 express

node app.js 运行程序

请求方式 路由 返回结果
GET /test 'bb'
POST /test 'post is ok'
PUT /test/12 12

4. 关于 controller 导出对象的命名与restful请求对应值

key method router
get GET /test
post POST /test
show GET /test/:id
put PUT /test/:id
patch PATCH /test/:id
del DELETE /test/:id

Package Sidebar

Install

npm i express-dirouter

Weekly Downloads

1

Version

1.0.1

License

ISC

Unpacked Size

7.42 kB

Total Files

4

Last publish

Collaborators

  • urcool