(Node.js) The way we organize code: break into files and folders and map to an object.
Originally part of Carcass.
First you wanna organize your files with directories. For example say you have a group of files and directories look like this:
example/
index.js
lib/
utils.js
models/
User.js
...
views/
index.js
...
...
Put this in the index.js
file:
var Register = require('file-register');
var example = new Register();
example.register(__dirname, 'lib');
Now you have everything in lib/
mapped to the example.lib
object.
example.lib.should.have.property('utils');
example.lib.should.have.property('models');
example.lib.should.have.property('views');
For files, the key is the filename without the extension, and the value is what you can get with require(file)
(i.e. whatever the file exports).
example.lib.should.have.property('utils').with.type('object');
example.lib.utils.should.have.property('lorem').with.type('function');
For directories, if require()
can handle it (i.e. there's an index.js
or package.json
etc.), we use require()
.
example.lib.should.have.property('views').with.type('string');
Otherwise the directory is mapped recursively.
example.lib.should.have.property('models').with.type('object');
example.lib.models.should.have.property('User').with.type('function');
test/example/
test/example.mocha.js
project : file-register
repo age : 1 year, 1 month
active : 7 days
commits : 18
files : 17
authors :
18 Makara Wang 100.0%