UNPKG

chameleon-tool

Version:

chameleon 脚手架工具

37 lines (30 loc) 839 B
const glob = require('glob'); const path = require('path'); const express = require('express'); function getJsFiles (dir) { return glob.sync('**/*.js', { cwd: dir, nodir: true, realpath: true }); } module.exports = function(app, options) { const controllerFiles = getJsFiles(path.join(options.root, 'mock/api')); const router = express.Router(); controllerFiles.forEach(function (file) { var controller = require(file); if (!(controller instanceof Array)) { controller = [controller]; } controller.forEach(function (item) { var method = item.method || ['get', 'post']; if (typeof method === 'string') { method = [method]; } method.forEach(function (verb) { router[verb](item.path, item.controller); }); }); }); app.use('/', router); }