In node.js when you require()
a module, node stores a cached version of the
module, so that all subsequent calls to require()
do not have to reload
the module from the filesystem.
decache
( Delete Cache ) lets you delete modules from node.js require()
cache
this is useful when testing your modules/projects.
When testing our modules we often need to re-require the module being tested. This makes it easy.
An easy way to delete a cached module.
### install
Install the module from npm:
npm install decache --save-dev
// require the decache module:
var decache = require('decache');
// require a module that you wrote"
var mymod = require('./mymodule.js');
// use your module the way you need to:
console.log(mymod.count()); // 0 (the initial state for our counter is zero)
console.log(mymod.incrementRunCount()); // 1
// delete the cached module:
decache('./mymodule.js');
//
mymod = require('./mymodule.js'); // fresh start
console.log(mymod.count()); // 0 (back to initial state ... zero)
Modules other than .js
, like for example, .jsx
, are supported as well.
If you have any questions or need more examples, please create a GitHub issue: https://github.com/nelsonic/decache/issues
Thanks!