Autoload your scripts! the successor to express-load
Consign makes applications easier to develop with logical file separation and automatic script loading.
Consign can be used to autoload models, routes, schemas, configs, controllers, object maps... etc...
Also if you are writing scripts and just need to add some structure, check out (middleware-chain)[https://github.com/jarradseers/middleware-chain], there is a new example for this usage in the examples folder.
var consign = require('consign');
consign()
.include('models')
.then('controllers')
.into(app);
// app.models.user
// app.models.company
// app.controllers.user
// app.controllers.company
Check out the examples or test folder for more!
$ npm install consign
- Autoload scripts
- Supports order, includes and excludes
- Made to supplement frameworks or scripts
- Makes MVC applications easier to work with
- Test driven
- Fast, Light-weight with no external dependencies
- Highly configurable
The optional options object is passed in as a parameter to the main consign
function.
consign({
cwd: process.cwd(),
locale: 'en-us',
logger: console,
verbose: true,
extensions: [ '.js', '.json', '.node' ],
loggingType: 'info'
})
logger
- Defaults to console, this can be switched out.
verbose
- On by default, set to false
for no logging
loggingType
- Set the type of logging, defaults to info
Current supported locale (for logging output):
- en-au
- en-nz
- en-us
- fr-fr
- pt-br
- pl
- zh-cn
Consign will simply use a relative path from your current working directory, however sometimes you don't want heavily nested files included in the object chain, so you can set the cwd:
consign()
.include('app') // ./app/controllers/user.js
.into(app);
would result in:
app.app.controllers.user
so using the cwd
option:
consign({cwd: 'app'})
.include('app') // ./app/controllers/user.js
.into(app);
would give us:
app.controllers.user
Defaults to an array containing .js
, .json
and .node
, new ones are concatenated instead of replaced.
To run the test suite, first install the dependencies, then run npm test
:
$ npm install
$ npm test