npm有一个三方库
clear-module
请问下它的作用是什么?
我没有发现它有什么使用的有意义的功能:
// foo.js
let i = 0;
module.exports = () => ++i;
const clearModule = require('clear-module');
require('./foo')();
//=> 1
require('./foo')();
//=> 2
clearModule('./foo');
require('./foo')();
//=> 1
它能做到什么呢?
清除指定模块的缓存,并且使下次 require 该模块时会重新加载该模块。
因为node第一次引用某个模块时,Node 解析该模块并将其编译为 JS 代码,在内存中创建一个新对象,然后将该对象缓存在内存中以避免每次使用该模块时反复解析和编译
clear-module 可以清除特定模块的缓存就如举的例子