という名前で現在分散システムを開発していて、昨夜私のコードをクラッシュさせることはできません。私のサーバーアプリケーションには複数のモジュールがあり、それぞれが自分のredis dbとの接続を確立しましたが、メインモジュール経由で1つの接続があれば良いでしょう。これは、私は昨夜実装しようとしましたが、私はかなり正確に問題が何であるかを把握することはできません。私はこの分野にはまだまだ新しく、SitePoint、Medium、その他のブログのようなページで既に検索していますが、ここで私の問題や派生バージョンをチェックしましたが、これを解決するのに役立つものは何も見つかりませんでした。Node.js、Express、Redis - 別のモジュールからのルートを
UPDATE 2016年6月24日13時18分
私は自分のコードからapp.use()
-statementを削除し、現在のサーバーは、最大発射されます。進歩:) しかし、私がルートをテストしようとすると、私が得る唯一の応答はCannot <METHOD> <ROUTE>
です。
this question hereを見ると、私はちょうどコードから削除したapp.use()
を利用する答えを私に提供します。私は行方不明のものがありますか?
更新日2016/6/24 14:05
app.use('/', account_routing.routes);
というステートメントを実装しましたが、動作しませんが、正しい方法ですか?私はリクエストを送ることができますが、今は何も答えはありません。
私は私のサーバー・アプリケーションのコードを提供しています:
var rclient, express;
express = require('express');
module.exports = {
setClient : function (inClient) { 'use strict'; rclient = inClient; },
routes : function(app) {
// ### VARIABLES ####################################################
var bodyParser, http, morgan, redis, rclient, app;
// ### DEPENDENCIES #################################################
bodyParser = require('body-parser');
http = require('http');
morgan = require('morgan');
redis = require('redis');
app = express();
// ### CONFIGURATION ################################################
app.use(morgan('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
// ### ROUTES #######################################################
app.get('/users/:username', function (req, res) {
/* Access database via connection in main module
to retrieve user data */
});
}
};
account_routing.js
main.js
var
express = require('express'),
redis = require('redis'),
app = express(),
port = process.env.port || 3000,
rclient = redis.createClient(),
account_routing = require('./modules/account_routing');
// ### CONFIGURATION ################################################
rclient.on('connect', function (err, res) {
console.log(err || "Connected to database!");
});
account_routing.setClient(rclient);
app.use('/', account_routing.routes);
// ### FIREUP #######################################################
app.listen(port, function() {
console.log('Server available at port ' + port);
});
は助けを事前にありがとうございました。
おそらくあなたのエラーは 'app.use( '/'、account_routing);' – Subburaj
'.use'は関数を渡す必要がありますがaccount_routingはオブジェクトをエクスポートします。ここの例を参照してくださいhttp://expressjs.com/en/guide/writing-middleware.html – Andrey