是否有可能为node.js中的模块variables定义一个设置函数

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

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

所以也许你可以像这样做一个function

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

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

只要结合他们:

 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(...) 

等等….

或者我不明白这个问题。