私が取り組んでいるプロジェクトがありますが、それが2000行を超えていることに気付き、関数のグループごとに異なるファイルに分割したいと思いました。例えば。メッセージの送信とメッセージの読み取り機能はmessage.jsにあります。問題は、各ファイルに多数のモジュールが必要であり、モジュールのインスタンスを作成する場合、別のファイルに新しいインスタンスを作成する必要がありますが、同じインスタンスを使用したいということです。
モジュールとインスタンスを他のファイルに渡そう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()
では、どのようにしてすべてのモジュールをすべてのファイルで使用できるようにすることができますが、それらを1つで宣言するだけで、1つのファイルで作成したインスタンスを他のファイルで使用できるようにするにはどうすればよいですか?
いくつかのライブラリファイル
singleton / file.js
const someDependency = require('some-module');
class Singleton {
method() {
...
return someDependency.someFunctionality();
}
...
}
module.exports = new Singleton();
シングルトンを使いたい場所
const singleton = require('singleton/file');
singleton.method();
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加