簡體   English   中英

如何在多個node.js文件中設置全局模塊

[英]How to set global modules in multiple node.js files

我有一個正在處理的項目,但我意識到它已經超過2000行,因此希望將其拆分為不同的文件以用於不同的功能組。 例如。 發送消息和閱讀消息的功能在message.js中。 問題是,我在每個文件中都需要很多模塊,如果我創建該模塊的實例,則需要在另一個文件中創建一個新實例,但是我想使用同一實例!

我試過module.exports = { ... }module.exports = { ... } exports.function()來將模塊和實例傳遞給其他文件,但是有時它說該功能不存在。

例如在我的app.js文件中:

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

const message = require('./message.js')
message.passModule(instance)

在我的message.js文件中:

let module-instance

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

module-instance.doSomething()

因此,如何使所有文件中的所有模塊都可用,而僅在一個文件中聲明它們,以及如何獲取在一個文件中創建的實例以在其他文件中使用?

一些庫文件

單例/file.js

const someDependency = require('some-module');

class Singleton {
  method() {
    ...
    return someDependency.someFunctionality();
  }
  ...
}
module.exports = new Singleton();

您想使用單身人士的地方

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM