0.0.3 • Published 7 years ago

@araulet/express-routes-loader v0.0.3

Weekly downloads
2
License
MIT
Repository
github
Last release
7 years ago

express-routes-loader Build Status

Routes loader for expressjs.

Installation

npm install expressjs-routes-loader

Usage

users.js (route)

'use strict'

function post(req, res) {
  res.send()
}

function get(req, res) {
  res.send()
}

module.exports = [
  {
    method: 'post',
    url: 'users',
    handler: post,
    summary: 'create user',
    description: 'create user',
    tags: ['users']
  },
  {
    method: 'get',
    url: 'users/:id',
    handler: get,
    summary: 'get user',
    description: 'get user',
    tags: ['users']
  }
]

app.js

'use strict'

const path = require('path')
const express = require('express')
const bodyParser = require('body-parser')
const loader = require('express-routes-loader')

let port = process.env.port || 8080

let app = express()

app.use(bodyParser.json())

// register your routes
const dirs = [path.join(__dirname, 'src', 'routes'), 'api']
const routes = loader(dirs)

app.listen(port, function () {
  console.log(`App listening on port ${port}`)
})

You can either pass a single or multiple directories to the loader

const singleDir = [path.join(__dirname, 'src', 'routes'), 'api']
const multipleDirs = [
  [path.join(__dirname, 'src', 'routes', 'users'), 'api', 'users'],
  [path.join(__dirname, 'src', 'routes', 'events'), 'api', 'events']
]

args (Array, String,...)

  • Array: folder(s) to be inspected
  • String to ...n arguments: prefixes that will be applied to the endpoint

Tests

npm test