只导入一次插件并在各处使用它

时间:2014-09-04 18:41:59

标签: node.js mongodb hapijs

我应该在我的hapijs应用程序中使用名为hapi-mongoose-db-connector的插件。在存储库页面中,开发人员会建议您正确导入它的方法。它说以下方式是坏方法:

# from the server
mongoose = server.pack.plugins['hapi-mongoose-db-connector'].mongoose
# or from a plugin
mongoose = plugin.plugins['hapi-mongoose-db-connector'].mongoose

并且不鼓励使用它。相反,他建议采用以下方式:

  

你什么都不做,只需要插件中的mongoose。作为npm   要求是单例(代码只在一次工作时加载   孔)

但他没有展示任何例子。在这一点上,我不太确定如何使用它。我不会调用每个js文件mongoose。我会在我的应用程序中调用它一次,在我的js文件中,我为数据库创建模型,使用它。你知道那些情况下的最佳做法吗?

1 个答案:

答案 0 :(得分:1)

实际上,第一个是做这种事情的hapi方式。

但是由于mongoose模块是 singleton ,该插件只需要mongoose并在将插件加载到hapi后初始化它[1],你可以在任何文件中使用mongoose;

var mongoose = require("mongoose");