使用require加载模块时是否可以传递参数?传递参数要求(当加载模块时)
我有模块,login.js它提供登录功能。它需要数据库连接,并且我想要在我的所有模块中使用相同的数据库连接。现在我导出一个函数login.setDatabase(...),它可以让我指定一个数据库连接,并且工作得很好。但我宁愿在加载模块时通过数据库和其他任何要求。
var db = ...
var login = require("./login.js")(db);
我与漂亮的NodeJS新的发展,通常使用Java和Spring框架,所以是......这是一个构造函数注入:)是否有可能做一些像我上面提供的代码?
我还建议看看[这个](http://stackoverflow.com/questions/13080771/node-js-passing-variables)问题的答案。正如在我的回答中指出的那样,一个常见的习惯用法是将'app'对象传递给所需的模块。 –
您可以使用[singleton](http://www.dofactory.com/javascript/singleton-design-pattern)实现并在需要时调用db.getInstance(),而不是执行所有为db传递的参数。 – wulfgarpro