0

当我使用 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)
4

1 回答 1

1

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

但更简短的答案是:不要那样做。无论你想做什么,这都不是办法。

于 2020-10-26T19:50:30.973 回答