代码之家  ›  专栏  ›  技术社区  ›  margherita pizza

如何在node js控制器文件中引用弹性搜索JavaScript客户端库

  •  0
  • margherita pizza  · 技术社区  · 6 年前

    我正在做node.js 雷斯塔皮 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');
        }
    });
    

    我得到了 '. 但是如何在控制器文件中引用此客户端。

    1 回复  |  直到 5 年前
        1
  •  1
  •   Şivā SankĂr    6 年前

    传递参数:

    将变量作为参数传递给导入函数,就像这样,您可以将变量从一个文件传递到另一个文件。

    //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 };
    };
    

    使用全局变量:

    //app.js
    var client = new elasticsearch.Client({
        host: 'localhost:9200',
        log: 'trace'
    });
    global.client = client;
    
    // categorry.controller.js
    ....
    consoel.log(global.client);