Node.js需要多次或者传递包作为arg?

时间:2016-10-21 00:07:02

标签: node.js express

我在一个'父'文件中有一个函数,它调用10个不同的'子'文件中的函数,所有这些文件require()都是相同的4个包。是否最好在父文件中要求这些包一次,并将这些包作为参数传递给子文件,或者将require()它们放在10个文件的顶部?

我的直觉是前者更好,但我不知道是否存在某种低级优化我缺少,或者如果将包传递为args会有很大的开销。

1 个答案:

答案 0 :(得分:6)

我不认为这确实有所作为。包被缓存(参见https://nodejs.org/api/modules.html#modules_caching)。

在我看来,如果你为每个文件需要它们而不是将它们作为参数传递取决于你想要如何使用子函数。如果您可能希望在某些时候在父级之外使用子函数,那么最好在每个子级中要求所需的包。另一方面,您可能希望使用可能更改的参数调用子函数(例如,您希望将排序函数传递给子项)。在这种情况下,param会很好,所以你可以重用大部分代码。