Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 每次调用时是否从磁盘读取所需的函数?_Javascript_Node.js_Ecmascript 6 - Fatal编程技术网

Javascript 每次调用时是否从磁盘读取所需的函数?

Javascript 每次调用时是否从磁盘读取所需的函数?,javascript,node.js,ecmascript-6,Javascript,Node.js,Ecmascript 6,我刚刚编写了一个NodeJS应用程序,我将所有函数拆分为它们自己的文件。现在我想知道这是不是个坏主意 我关心的问题是这些功能文件从磁盘读取了多少次?一次还是每次调用函数 我想问题可以简化为在以下情况下从磁盘读取function.js的次数 while (true) { const f = require('./function'); } 表示将仅从磁盘读取一次: 值得注意的是,每次您随后需要一个已经需要的文件时,exports对象都会被缓存和重用 然后还演示了导出中包含的任何状态也可以在对

我刚刚编写了一个NodeJS应用程序,我将所有函数拆分为它们自己的文件。现在我想知道这是不是个坏主意

我关心的问题是这些功能文件从磁盘读取了多少次?一次还是每次调用函数

我想问题可以简化为在以下情况下从磁盘读取
function.js
的次数

while (true) {
  const f = require('./function');
}
表示将仅从磁盘读取一次:

值得注意的是,每次您随后需要一个已经需要的文件时,
exports
对象都会被缓存和重用


然后还演示了导出中包含的任何状态也可以在对
require
的不同调用中重用,即对
require
的每个调用都会获得完全相同的
导出
引用。

仅一次。它将从缓存中读取。模块缓存更精确。来自官方文档。

如果所需函数从磁盘读取配置文件,是否也会出现这种情况?也就是说,配置文件也只能读取一次吗?不能说我已经进行了明确的测试,但文档肯定是这样读取的-它基本上在您第一次
需要它时读取并运行一次文件,然后在每次调用时重用现有的/cached
导出。