Node.js – 模块导出静态variables

我试图导出一个模块,该模块应该存储给定信息的散列表,以便可以检查另一个访问该信息的调用是否存在于散列表中,如果find,则返回散列表中的值。

我无法获得导出的哈希表在整个应用程序中保持一致,作为单例/静态/全局variables。

这是我有:

var Randomize = { hashTable: [], randomize: function(rows) { var randomized = []; for(var i in rows) { //check if exists in hashtable, use values accordingly } return randomized; } }; module.exports = Randomize; 

当我尝试访问它时:

 var randomize = require('randomize'); /* ... */ console.log(randomize.randomize(rows)) 

它为每个实例创build一个新的散列表。 我怎样才能使它重用哈希表的同一个实例?

你的散列表可能在错误的范围内 – 可能会被每个require破坏。 试试这个:

 var hashTable = []; var Randomize = { hashTable: hashTable, randomize: function(rows) { var randomized = []; for(var i in rows) { //check if exists in hashtable, use values accordingly } return randomized; } }; module.exports = Randomize;