【发布时间】:2016-04-05 04:19:36
【问题描述】:
注册 Hapi 插件与通过服务器上下文使底层节点模块可用(假设插件不会向模块添加太多功能)有什么优势吗?例如,对于 mysql,我可以注册一个 hapi-mysql 插件
server.register({
register: require('hapi-mysql'),
options: {
host: "localhost",
user: "test",
password: "test"
}
}, (err) => {
if(err) {
throw err;
}
});
然后通过服务器变量访问它
var dbPool = server.plugins['hapi-mysql'].pool;
另一种方法是直接创建一个mysql池实例
var mysql = require('mysql');
var pool = mysql.createPool({
connectionLimit : 10,
host : 'localhost',
user : 'test',
password : 'test'
});
并将其绑定到服务器上下文
server.bind({dbPool: pool});
我个人更喜欢第二种方法(server.bind),但要确保我没有遗漏什么
【问题讨论】:
标签: javascript node.js hapijs