全局声明时,导出的功能不可用

时间:2019-01-02 14:04:56

标签: javascript express require

当我全局加载我的自定义文件时,该文件未正确加载并返回一个空对象:

const msgq = require('../db/message_queue.js');

var getList = async(url) => {
    console.log(msgq);
    ...
}

但是,如果我在函数内部本地加载,它将按预期工作。这背后的原因是什么?:

var getList = async(url) => {
    const msgq = require('../db/message_queue.js');  
    console.log(msgq);
    ...
}

但是,奇怪的是,在代码的其他部分中,我全局声明了它,并毫无问题地使用了它...

在ExpressJS上运行

1 个答案:

答案 0 :(得分:0)

尝试用let代替const

    let msgq = require('../db/message_queue.js');