app.js、ServerManager.js、およびUsers.jsの3つのファイルがあります。他のファイルからデータベース情報を取得する
すべてを起動するには、私はServerManagerを実行するapp.jsを実行します。 App.jsにServerManagerの実行
:
var ServerManager = require('./modules/ServerManager.js');
var serverManager = new ServerManager({
app: app,
path: __dirname
});
その後ServerManagerのが呼ばれ、私はその後、私はServerManagerのからUsers.jsにコンテンツを送信しようとしている、そこにものを行うことができますが、それはdoesnのように思えます仕事はありません。
ServerManager.js
var config = require('../config.js');
var express = require('express');
var colors = require('colors');
var DatabaseManager = require('../modules/DatabaseManager.js');
var RouteManager = require('../modules/RouteManager.js');
var Users = require('../data/users.js');
module.exports = function(options){
return new ServerManager(options);
}
var ServerManager = function (options) {
var self = this;
this.app = options.app;
this.options = options;
this.dbManager = new DatabaseManager();
this.dbManager.use();
this.RoutesManager = new RouteManager(this.app);
this.RoutesManager.use();
this.usersManager = new Users(this);
}
ServerManager.prototype.getDatabase = function() {
return this.dbManager();
}
Users.js
- それは見つけることができませんどのようなコードでマーク。module.exports = function (ServerManager) {
return new Users(ServerManager);
};
var Users = function (ServerManager) {
var self = this;
this.serverManager = ServerManager;
};
Users.prototype.createUser = function (username, email, password) {
this.serverManager.getDatabase(); <--- Can't find getDatabase()
};
説明なしでdownvoteしないでください、ありがとう!さて、あなたはUserオブジェクトを取得
var Users = require('../data/users.js');
を行う
// This is the Users object
// and this function is its constructor
// that can create users instances
var Users = function (ServerManager) {
var self = this; this.serverManager = ServerManager;
};
// We define a method for the user object
Users.prototype.createUser = function (username, email, password) {
this.serverManager.getDatabase();
};
// We export the user object
module.exports = Users;
:
しかし、ServerManager.jsのgetDatabase()プロトタイプを使用して、その部分を削除できませんでした。 –
これはホールスクリプトではなく、最初の行だけです。 – GramThanos
ええ、私がServerManagerを返さない場合は、そこにそれを必要とする以外の方法でアクセスすることはできませんが、それは複数回そこにすべてを呼び出す原因になります。 –