0

nodejs如何永久改变模块里面的属性类似引用传递,
一个js文件require后赋值改属性,其他js require后直接就是新的值。
实际想要的就是一个全局变量,但是可以在任意时候改变,改变后其他文件引用则是改变的值

2018-12-07 提问
2 个回答
0

新建global.js

const GLOABL_DATA = {}

function set(key, value) {
    GLOABL_DATA[key] = value
}

function get(key) {
    return GLOABL_DATA[key]
}

module.exports = {
    set,
    get
}

这样就可以通过引入global.js来控制全局变量
例如 demo.js

var global = require('global')
global.set('key1', 'value1')
console.log(global.get('key1')) // value1

global.set('key1', 'value2')
console.log(global.get('key1')) // value2
0

了解下设计模式中的单例模式

class Foo {
  constructor ({name, age} = {name: 'foo', age: 0}) {
    this.name = name
    this.age = age
  }
}

module.exports = new Foo()

你在任何文件中改变了name,和age,其他文件中的值都会改变

撰写答案

你可能感兴趣的

推广链接