6

Expressjs をいじり始めたばかりで、マウントされたミドルウェア/サブ アプリケーションに変数を渡す方法を考えています。次の例では、config オブジェクトを /blog/index に渡します。

app.js で

var express = require('express');
var app = express();
//...
var config = {}
//...
app.use('/blog', require('./blog/index')

/blog/index.js で

var express = require('express');
app = module.exports = express();

app.use(express.static(...
app.get('/', function(req, res, next) {
  //handle the req and res
}

ありがとう、

4

1 に答える 1

7

ここに 2 つのオプションがあります。

  1. このアプリはエクスプレス アプリケーションであるため、とblogを使用できます。例えばapp.setapp.get

     blog = require('./blog/index');
     blog.set('var1', value1);
     blog.set('var2', value2); 
     ...
     app.use('/blog', blog);
    

    の値を取得するためにblog/index.js使用されます。app.get('var1')var1

  2. blog構成パラメーターを受け入れる別の関数 (ミドルウェアがディレクトリ名を受け入れるのと同様) で高速アプリケーションをラップしstatic、構成されたアプリケーションを返すことができます。例が必要な場合はお知らせください。

編集: 2 番目のオプションの例

app.js は次のようになります。

var blog = require('./blog/index');
...
var config = {};
app.use('/blog', blog(config));

/blog/index.js は次のようになります。

var express = require('express')

module.exports = function(config) {
    var app = express();
    // configure the app and do some other stuffs here
    // ...

    return app;
}
于 2013-01-30T05:20:06.500 に答える