节点 - 要求setInterval中的模块与外部相比,内存效率更高吗?

时间:2016-11-08 13:07:17

标签: node.js daemon

我有一个Node文件,我在Linux服务器上用作服务文件/守护程序。

这样的事情:

<footer>
  <div class="block three-cols">

    <div>50%</div>
    <div>25%</div>
    <div>25%</div>

    <div>50%</div>
    <div>25%</div>
    <div>25%</div>

    <div>50%</div>
    <div>25%</div>
    <div>25%</div>

  </div>
</footer>

该模块导出一个功能,但也包含一些全局&#39;变量,我已经注意到每次调用函数时这些变量是如何相同的,这对我来说很有意义。

这让我想知道是否有这样的事情:

const m = require('./local-module')

setInterval(m, duration)

内存效率更高?这样做是否有利于另一方?

1 个答案:

答案 0 :(得分:0)

require()的调用进行了缓存,并将返回相同的实例。你是否

var thing = require('thing'); thing.stuff()

require('thing').stuff()

它是&#34;事物&#34;的相同实例。每一次。

为了便于阅读和约定,将需求放在顶部更为常见。但是,由于在加载文件时(在应用程序启动时)加载require模块,您可能不喜欢某些测试路径或模拟或初始化序列。在代码中间执行require()只会在调用时加载模块,因此您可能会对它很懒,这有时很有帮助。