mu

module-unique

a patch for node.js which avoids loading the same module more than once

Showing:

Popularity

Downloads/wk

1

GitHub Stars

13

Maintenance

Last Commit

6yrs ago

Contributors

2

Package

Dependencies

0

License

ISC

Type Definitions

Tree-Shakeable

No?

Categories

Readme

module-unique

a patch for node.js which avoids loading the same module more than once

why?

In a large project developed with node.Js, some modules are used frequently, let's say underscore or lodash. module A depends on underscore,and module B depends on it too, now they depend on the same module with same version. So module underscore is loaded more than once , right? And that will cost a lot memory, what a waste! .So why don't we set the cache for the same module with the same version. Well , module-unique can help you solve this!

How to use

npm install module-unique

add the code before your own code, must before or it won't work!!!

require('module-unique').init();

here is an example code

#!/usr/bin/env node
'use strict';

var unique = require('module-unique');
unique.init();

var app = require('../app'),
    logger = require('logger'),
    graceful = require('graceful');

app.set('port', process.env.PORT);

var server = app.listen(app.get('port'), function() {
    logger.info('server listening on port ' + server.address().port);
});

graceful({
    server: server,
    killTimeout: 30 * 1000,
    error: function(err, throwErrorCount) {
        if (err.message) {
            err.message +=
                ' (uncaughtException throw ' + throwErrorCount +
                ' times on pid:' + process.pid + ')';
        }
        logger.error(err);
    }
});

memory saved about 30% above in my own project, think about how much it will save you~

before using module-unique

http://gtms02.alicdn.com/tps/i2/TB1OBmVGFXXXXaZXXXXhN4IGpXX-930-98.png

after using module-unique

http://gtms03.alicdn.com/tps/i3/TB1nU9QGFXXXXb4XFXXDeGnJXXX-886-144.png

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial