缓存
¥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.