缓存


¥Caching

模块在第一次加载后被缓存。这意味着(类似其他缓存)每次调用 require('foo') 都会返回完全相同的对象(如果解析为相同的文件)。

¥Modules are cached after the first time they are loaded. This means (among other things) that every call to require('foo') will get exactly the same object returned, if it would resolve to the same file.

如果 require.cache 没有被修改,则多次调用 require('foo') 不会导致模块代码被多次执行。这是重要的特性。有了它,可以返回 "部分完成" 对象,从而允许加载传递依赖,即使它们会导致循环。

¥Provided require.cache is not modified, multiple calls to require('foo') will not cause the module code to be executed multiple times. This is an important feature. With it, "partially done" objects can be returned, thus allowing transitive dependencies to be loaded even when they would cause cycles.

要让模块多次执行代码,则导出函数,然后调用该函数。

¥To have a module execute code multiple times, export a function, and call that function.