I really dont get these things, why not just define ./log.js
and do module.exports = require('my-chosen-log-module');

We expose stuff with NODE_PATH=lib so require('log') in that case but
delegate to some other module or apply some thin wrappers. This is
pretty common
but all this DI stuff just seems to complicate something pretty simple

On May 16, 9:48 am, mgutz <mario.l.gutier...@gmail.com> wrote:
> https://github.com/mgutz/inj
>
> I didn't like all the AngularJS wannabes. node.js has perfectly fine module
> system already.
>
> Inj is a KISS, require based dependency injector (DI) for node.js
>
>    - no monkey patches
>    - no autowire needed, just use require
>
> *reader.js*
>
> require = require('inj')(module, require);
>
> var fs = require('fs');
> exports.text = fs.readFileSync(__dirname + './file.txt', 'utf8');
>
> *readerTest.js*
>
> // first create container for `reader`
> var inj = require('inj');
> var container = inj.create(require.resolve('./reader'));
>
> // register a mocked 'fs'
> container.register('fs', {readFileSync: function() { return 'foo'; });
>
> var a = require('./reader');
> assert(a.text, 'foo');

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nodejs+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to