通常,我们需要节点模块,如:
var dep = require('some-dependency');
function runner() {
dep();
}
如果我们这样做:
function runner() {
var dep = require('some-dependency');
dep();
}
我知道它确实有效,除了Eslint的global-require规则之外,没有什么能阻止我这样做。
但考虑到Node如何在内部处理它,后一种模式是否存在任何副作用?
答案 0 :(得分:0)
我相信我得到了答案here。
<强> TL; DR 强>:
没有任何副作用,除了要求操作被阻止,所以你可能不想把它深入你的应用程序。
答案 1 :(得分:0)
如果&#39;要求&#39;放置在模块级别,所需模块将根据需要执行。 但如果要求&#39;除非你的函数被调用,否则它被置于一个函数中,它不会在require时执行。