UNPKG

1.84 kBMarkdownView Raw
1# require-directory
2
3Recursively iterates over specified directory, requiring each file, and returning a nested hash structure containing those libraries.
4
5## How To Use
6
7### Installation
8
9```bash
10$ npm install require-directory
11```
12
13### Usage
14
15Given a directory structure like so:
16
17* app.js
18* routes/home.js
19* routes/auth/login.js
20* routes/auth/logout.js
21* routes/auth/register.js
22
23```javascript
24var requireDirectory = require('require-directory');
25var routes = requireDirectory(module, './routes/');
26
27// snip
28
29app.get '/', routes.home;
30app.get '/register', routes.auth.register;
31app.get '/login', routes.auth.login;
32app.get '/logout', routes.auth.logout;
33```
34
35### Usage + Blacklist Regex
36
37Using the same directory structure from above:
38
39```javascript
40var excludeLogout = /logout.js$/;
41var requireDirectory = require('require-directory');
42var routes = requireDirectory(module, './routes/', excludeLogout);
43
44// snip
45
46app.get '/', routes.home;
47app.get '/register', routes.auth.register;
48app.get '/login', routes.auth.login;
49//app.get '/logout', routes.auth.logout; //<-- not present
50```
51
52### Usage + Path-checking Delegate
53
54Using the same directory structure from above:
55
56```javascript
57var excludeLogout = function(path){
58 if(/routes\/auth\/logout.js$/.test(path)){
59 return false;
60 }else{
61 return true;
62 }
63};
64var requireDirectory = require('require-directory');
65var routes = requireDirectory(module, './routes/', excludeLogout);
66
67// snip
68
69app.get '/', routes.home;
70app.get '/register', routes.auth.register;
71app.get '/login', routes.auth.login;
72//app.get '/logout', routes.auth.logout; //<-- not present
73```
74
75## Run Unit Tests
76
77```bash
78$ npm test
79```
80
81## License
82
83[MIT License](http://www.opensource.org/licenses/mit-license.php)
84
85## Author
86
87[Troy Goode](https://github.com/TroyGoode) ([troygoode@gmail.com](mailto:troygoode@gmail.com))