module.export正在导出对象,而不是存储在变量中的字符串

问题描述

当我使用module.exports并在末尾添加一个字符串时,它会导出并正确显示在字符串中,但是当我导出变量时,它将返回一个对象{}。

这是来自export.js文件代码

    clientList = document.getElementById("client-list")
    aLink = document.getElementsByClassName('a-link')
    var exVariable;
    function myFunction(event) {
        event.target.setAttribute('href','clientinfo.ejs')
        var variable = event.target.innerText
        exVariable = variable
        console.log(exVariable)
        return exVariable  
}    
if (exVariable != null) {
    module.exports = exVariable
}

在此,myFunction执行onclick事件。

这是导入文件夹中的代码,该代码注销了控制台中的空对象。

var clientFolder = require('./export.js')
console.log(clientFolder)

解决方法

对您问题的简短回答是,模块通常在首次“需要”后才被缓存。在节点中,您可以阅读整个require.cache系统。由于我看到您正在使用document,因此我怀疑这些文件是通过诸如webpack之类的文件捆绑在浏览器中的。在这种情况下,据我所知,没有办法完全不弄乱webpack内部结构。

但更简短的答案是:不要那样做。无论您要做什么,这都不是做到的方式。