我正在快速框架中执行node.js RESTapi 。我想将弹性搜索集成到我的项目中。因此,我安装了弹性搜索JavaScript客户端库,并将这些代码添加到app.js
中。
var client = new elasticsearch.Client({
host: 'localhost:9200',
log: 'trace'
});
client.ping({
requestTimeout: 30000,
}, function (error) {
if (error) {
console.error('elasticsearch cluster is down!');
} else {
console.log('All is well');
}
});
我得到的是“ 一切都好”。 但是如何在控制器文件中引用此客户端。
希望我的问题对您很清楚。 =)
任何帮助! 在此先感谢!
答案 0 :(得分:1)
传递参数:
将变量作为参数传递给导入函数,这样您就可以将变量从一个文件传递到另一个文件。
//app.js
var client = new elasticsearch.Client({
host: 'localhost:9200',
log: 'trace'
});
var catRouters = require("categorry.controller.js")(client);
// categorry.controller.js
module.exports = function (client) {
....
return { create, read, update, readById, categoriesByCity, live_search };
};
使用全局变量:
将变量设置为Node.js全局对象以在其他文件中使用,Node.js全局对象本质上是全局的,并且在所有模块中都可用。
//app.js
var client = new elasticsearch.Client({
host: 'localhost:9200',
log: 'trace'
});
global.client = client;
// categorry.controller.js
....
consoel.log(global.client);