forked from lix-project/lix-website
78 lines
1.5 KiB
Markdown
78 lines
1.5 KiB
Markdown
|
# clear-module
|
||
|
|
||
|
> Clear a module from the [cache](https://nodejs.org/api/modules.html#modules_caching)
|
||
|
|
||
|
Useful for testing purposes when you need to freshly import a module.
|
||
|
|
||
|
## Install
|
||
|
|
||
|
```
|
||
|
$ npm install clear-module
|
||
|
```
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
```js
|
||
|
// foo.js
|
||
|
let i = 0;
|
||
|
module.exports = () => ++i;
|
||
|
```
|
||
|
|
||
|
```js
|
||
|
const clearModule = require('clear-module');
|
||
|
|
||
|
require('./foo')();
|
||
|
//=> 1
|
||
|
|
||
|
require('./foo')();
|
||
|
//=> 2
|
||
|
|
||
|
clearModule('./foo');
|
||
|
|
||
|
require('./foo')();
|
||
|
//=> 1
|
||
|
```
|
||
|
|
||
|
## API
|
||
|
|
||
|
### clearModule(moduleId)
|
||
|
|
||
|
#### moduleId
|
||
|
|
||
|
Type: `string`
|
||
|
|
||
|
What you would use with `require()`.
|
||
|
|
||
|
### clearModule.all()
|
||
|
|
||
|
Clear all modules from the cache.
|
||
|
|
||
|
### clearModule.match(regex)
|
||
|
|
||
|
Clear all matching modules from the cache.
|
||
|
|
||
|
#### regex
|
||
|
|
||
|
Type: `RegExp`
|
||
|
|
||
|
Regex to match against the module IDs.
|
||
|
|
||
|
### clearModule.single(moduleId)
|
||
|
|
||
|
Clear a single module from the cache non-recursively. No parent or children modules will be affected.
|
||
|
|
||
|
This is mostly only useful if you use singletons, where you would want to clear a specific module without causing any side effects.
|
||
|
|
||
|
#### moduleId
|
||
|
|
||
|
Type: `string`
|
||
|
|
||
|
What you would use with `require()`.
|
||
|
|
||
|
## Related
|
||
|
|
||
|
- [import-fresh](https://github.com/sindresorhus/import-fresh) - Import a module while bypassing the cache
|
||
|
- [import-from](https://github.com/sindresorhus/import-from) - Import a module from a given path
|
||
|
- [import-cwd](https://github.com/sindresorhus/import-cwd) - Import a module from the current working directory
|
||
|
- [import-lazy](https://github.com/sindresorhus/import-lazy) - Import a module lazily
|