loading dir files as module to an object.
$ npm install loading-
module.exports = function (app)module as initialization function -
map
Pascal Casemodules ->Lower Camel Casesuch asraw_modules->rawModules -
if
opt.lowercaseFirst = truethen mapSomeDir.SomeClass->someDir.someClass
var loading = require('loading');
var app = {};
// app.services.foo
loading('/services').concat('/overwrite_services').into(app, 'services');
loading('/models').into(app, 'models');
loading('/controllers').into(app, 'controllers');
console.log(app);
// /services/foo.js
exports.get = function (callback) {
setTimeout(function () {
callback(null, 'bar');
}, 1);
};
// /services/userProfile.js
module.exports = function (app) {
return {
getByName: function (name, callback) {
setTimeout(function () {
callback(null, {name: name});
}, 1);
}
};
};var loading = require('loading');
loading(PATH,[{call:true}]).into(TARGET, FIELD, [filters])
-
call type:[
object] decide whether auto call the function when module.exports is a function, default: true . -
filters type:[
string array] only inject the item infilters. -
override type:[
boolean] decide whether override the property that is already exist, default: false -
ignore type:[
string function] ignore file. If ignore is not null, ignore rule will be glob string!ignore. default: undefined -
lowercaseFirst type:[
boolean] decide whether lowercase the first letter of property default: false
MIT