添加所有模块来表示索引文件app.js的原因是什么?

我经常看到应用程序(Express.js)使用的所有模块都被添加到索引文件“app.js”的开头。 喜欢这个:

var passport = require('passport'); var LocalStrategy = require('passport-local').Strategy; var mongo = require('mongodb'); var mongoose = require('mongoose'); 

就是这样,在“app.js”中没有任何处理它们。 它们在其他地方使用,例如,这个模块可能需要路由文件“/routes/login.js”,其中它们的添加是重复的。

在“app.js”中添加所有模块的问题只是在真正需要的地方添加它们而已? 这是公约的一部分还是有一些真正的需要?

很可能人们开始在一个文件中写他们的项目。 它们包括了所有的东西,然后,当他们把代码拆分成多个文件时,他们忘记删除require

我能想到的唯一的半真正的好处是在开始时预加载模块,因为从技术上讲,当你需要一个模块两次时,它应该parsing为相同的对象,并且它的所有初始化应该只执行一次。 但是,这真的是拉伸它。 我想人们只是忘记了。