是否可以在 Node.js 中为模块变量定义 SET 函数

is it possible to define a set function for module variables in node.js

本文关键字:变量 模块 定义 SET 函数 Node js 是否      更新时间:2023-09-26

我发现你可以在node中做一个get函数.js就像这样

Object.defineProperty(exports, "g_myvar", {
 get: function() { return g_myvar; }
});

所以也许你可以做一个这样的集合函数

Object.defineProperty(exports, "g_myvar", {
 set: function(val) { g_myvar = val; }
});

但是两个导出函数具有相同的名称,因此这不起作用。我想我可以有一个不同名称的函数,但这意味着将所有变量赋值更改为函数调用。

只需将它们组合在一起:

Object.defineProperty(exports, "g_myvar", {
  get: function() { return g_myvar; },
  set: function(val) { g_myvar = val; }   
});
在你的

模块中只是做

module.exports = {
   mySetter: function (value) {...},
   myGetter: function () {return ...}
};

而且您可以在任何地方使用您的模块,例如

var myModule = require('my-module);
myModule.mySetter(...)
myModule.myGetter(...)

等等....

或者也许我不明白这个问题。