自己写controller模块,应该挺有趣的.好,那就写!
npm install likegun-controller --save
app.js:
var fs = require('fs');
var app = require('express')();
fs.readDir('./controllers', function(err, files){
if(err)
throw err;
files.forEach(function(file) {
var ctrl = require('./controllers/'+file);
app.use(ctrl.router);
});
});
controllers/ExampleController.js:
var ExampleController = new (require('likegun-controller'));
//Add a handle
ExampleController.addHandle('GET', '/example/show', function(req, res, next) {
res.end('Just a example');
});
ExampleController.addHandle('POST', '/example/show', function(req, res, next) {
res.end('Just a example');
});
ExampleController.addHandle('PUT', '/example/show', function(req, res, next) {
res.end('Just a example');
});
ExampleController.addHandle('DELETE', '/example/show', function(req, res, next) {
res.end('Just a example');
});
//Add a filter
ExampleController.addFilter('ExampleFilter1', [
{url: '/example/show', method: 'GET'},
{url: '/example/show', method: 'POST'}
], function(req, res, next, nextFilter) {
//code filter
nextFilter();
});
ExampleController.addFilter('ExampleFilter2', 'all', function(req, res, next, nextFilter) {
//code filter
nextFilter();
});
module.exports = ExampleController;