如何在多个node.js文件中设置全局模块

如何在多个node.js文件中设置全局模块,node.js,node-modules,Node.js,Node Modules,我有一个项目,我正在工作,但我意识到它是超过2000行,并希望将其分为不同的功能组不同的文件。例如,message.js中有发送消息和读取消息功能。问题是,我需要在每个文件中有很多模块,如果我创建了一个模块实例,我需要在另一个文件中创建一个新实例,但我想使用相同的实例 我尝试了module.exports={…}和exports.function()将模块和实例传递给其他文件,但有时它会说函数不存在 例如,在my app.js文件中: const module = require('module

我有一个项目,我正在工作,但我意识到它是超过2000行,并希望将其分为不同的功能组不同的文件。例如,message.js中有发送消息和读取消息功能。问题是,我需要在每个文件中有很多模块,如果我创建了一个模块实例,我需要在另一个文件中创建一个新实例,但我想使用相同的实例

我尝试了
module.exports={…}
exports.function()
将模块和实例传递给其他文件,但有时它会说函数不存在

例如,在my app.js文件中:

const module = require('module')
instance = new module()

const message = require('./message.js')
message.passModule(instance)
在my message.js文件中:

let module-instance

exports.passModule = function(instance) {
    module-instance = instance
}

module-instance.doSomething()
那么,我如何能让所有模块在所有文件中都可用,而只在一个文件中声明它们,以及如何让我在一个文件中创建的实例能够在其他文件中使用?

一些库文件

singleton/file.js

你想用你的单身汉的地方

const singleton = require('singleton/file');
singleton.method();

谢谢,所以我将实例和模块放在类中?不确定模块是什么意思(在js模块中,模块意味着包含一些代码的文件),但您不需要类钱包,但如果您这样做,例如,这个
module.exports={method:()=>{}
方法仍然可以像上面的示例一样使用。如果您想要singleton,请不要在singleton模块文件之外创建新实例。没有
新模块
在本应为singleton的模块之外。模块意味着npm ModuleOK,只要您执行
require('some-module')
操作,您只需在需要使用该模块某些部分的地方执行,并且它将始终返回相同的版本。我将把它添加到示例中。更新的答案是否回答了您的问题?
const singleton = require('singleton/file');
singleton.method();