我应该如何在单个项目的多个文件中要求或使用相同的模块?

How should I require or use the same module in multiple files for a single project?

我知道模块在需要时会被缓存,就像解释的那样,但是从以下方式编写好的或更少的代码以及代码的可读性方面,什么是最好的方法?

场景:

我有三个文件 ABC,它们都需要其他模块如 urlexpress 但文件 A 是我的主文件,它也需要文件 BCurlexpress 模块一起作为模块。

  1. 我是否应该在每个文件(即 ABC) ?
  2. 我是否应该仅在主文件(即 A)中需要这些模块(即 urlexpress )并将这些所需的模块传递给文件 BC 同时需要它们,如下面的
var app = require('express'),
    url = require('url),
    b= require('B')(app, url),
    c= require('C')(app, url);
  1. 还有其他好的或替代方法吗?

我真的很感激能很好地解释我如何以正确和最好的方式去做,或者什么是最佳实践。

我会说是明确的,总是需要你需要的模块,它有助于可维护性和模块化。如果您使用

b = require('B')(app, url)

有可能 B 需要模块但 A 不需要,所以你最终还是写了一些要求,并且需要记住你继承了什么,什么是新的。此外,您将无法通过模块 D 使用模块 B,后者不需要 appurl.