Node.JS覆盖模块导出值

时间:2018-05-23 14:24:11

标签: node.js

如何覆盖模块导出值? 目前我有这个:

temp.js

const temprss = require('../../temp'); 
temprss.lastrsss = "https://something.com";

我尝试用这个覆盖值:

List<>

它有效,但同时它没有。我认为它可以节省内存或者我不知道。它没有保存在temp.js.我该怎么做才能保存在temp.js中?

2 个答案:

答案 0 :(得分:1)

有几种方法可以解决这个问题。一个很好的清洁方法是定义一个getter和setter:

temp.js

lastrsss = "hello"

module.exports = {
    get lastrsss() {
        return lastrsss
    },
    set lastrsss(val){
        lastrsss = val
    }
}

现在您可以像常规属性一样使用它们:

let tempres = require('./test2.js')

console.log(tempres.lastrsss)  // hello
tempres.lastrsss = "goodbye"
console.log(tempres.lastrsss)  // goodbye

答案 1 :(得分:0)

导出一个函数以在lastrsss中创建和设置一个值。

尝试这样的事情:

function setLastrsss(value) {
    let lastrsss = value;
    return lastrsss;
}

module.exports = {
   setLastrsss;
}