123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- # import-fresh
- > Import a module while bypassing the [cache](https://nodejs.org/api/modules.html#modules_caching)
- Useful for testing purposes when you need to freshly import a module.
- ## ESM
- For ESM, you can use this snippet:
- ```js
- const importFresh = moduleName => import(`${moduleName}?${Date.now()}`);
- const {default: foo} = await importFresh('foo');
- ```
- **This snippet causes a memory leak, so only use it for short-lived tests.**
- ## Install
- ```sh
- npm install import-fresh
- ```
- ## Usage
- ```js
- // foo.js
- let i = 0;
- module.exports = () => ++i;
- ```
- ```js
- const importFresh = require('import-fresh');
- require('./foo')();
- //=> 1
- require('./foo')();
- //=> 2
- importFresh('./foo')();
- //=> 1
- importFresh('./foo')();
- //=> 1
- ```
- ## Related
- - [clear-module](https://github.com/sindresorhus/clear-module) - Clear a module from the import 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 modules lazily
|