3.1.1 • Published 8 years ago

route-fs v3.1.1

Weekly downloads
19
License
MIT
Repository
github
Last release
8 years ago

Route-fs

A easy way to organize your routers.Say goodbye to writing route list by hand, just proxy to file system.

Travis Coveralls branch

How to use

Step 1
npm install route-fs --save
Step 2

Create a floder named routers in your project, for example

|-app.js

|-public/

|-routers/

  |-person.js

  |-person/

    |-works.js
Step 3

Add middleware on your server in app.js. Support koa, express 4, restify now.

var koa = require('koa')();
var express = require('express')();
var restify = require('restify').createServer();

var RS = require('route-fs');

var rs = new RS({
	root: __dirname + '/routers', 	// path of `routers` directory
	prefix: 'public' 				// optional, default a empty string
});

koa.use(rs.koa());
express.use(rs.express());
restify.pre(rs.restify());

It will generate routes matcher like

/public/person/:person?

/public/person/:person/work/:work?
Step 4

Exports the method handler in the file, if you are use koa, export generate function instead.

work.js

exports.get = function(req, res, next) {
	res.send("We are works belongs to person No." + req.params.person);
};

exports.put = function(req, res, next) {
	var id = addWork(req.params.person);
	res.send("The work added to " + req.params.person + ", id is " + id)
};

person.js

exports.get = function(req, res, next) {
	res.send("I am No." + req.params.person);
};

exports['delete'] = function() {
	res.send("No." + req.params.person + " was deleted.")
}

It will call the function named by http method when the request coming.

Step 5

It just finished! Let's experience with curl

curl -X GET 'http://localhost/public/person/1/work/'	->	"We are works belongs to person No.1"
curl -X PUT 'http://localhost/public/person/2/work/'	->	"The work added to 2, id is 1"
curl -X GET 'http://localhost/public/person/100'		->	"I am No.100"
curl -X DELETE 'http://localhost/public/person/1'		->	"No.1 was deleted."

###For more detail, see /test directory now

3.1.1

8 years ago

3.0.1

8 years ago

3.0.0

8 years ago

2.1.8

9 years ago

2.1.7

9 years ago

2.1.6

9 years ago

2.1.5

9 years ago

2.1.4

9 years ago

2.1.3

9 years ago

2.1.2

9 years ago

2.1.1

9 years ago

2.1.0

9 years ago

2.0.4

9 years ago

2.0.3

9 years ago

2.0.2

9 years ago

2.0.1

9 years ago

2.0.0

9 years ago

1.0.0

9 years ago