4

私のapp.js中で私は次の設定を設定しました

app.set('mailTemplatesDir', __dirname + '/mails');

コントローラーの 1 つの値を読み取りたいのですが'mailTemplatesDir'、その設定にアクセスするにはどうすればよいですか? appグローバル変数を作成しないことをお勧めします。

4

1 に答える 1

4

app通常の呼び出しで作成した場合createServer()、その関数によって返されるオブジェクトを経由せずにオプション設定にアクセスする方法は他にありません。Express はサーバー オブジェクトをキャッシュしませんが、単にオブジェクトの結果を返しnewます。

生成された標準のエクスプレス ボイラープレートを使用してアプリケーションを作成した場合、app次のような行の作成がある可能性があります。

var app = module.exports = express.createServer();

これは実際にappはグローバル変数として作成されませんが、モジュール エクスポートとして使用できるようになります。mailTemplatesDir次のようにモジュールを要求することで、別のモジュールからオプションにアクセスできますapp.js

var templateDir = require('./app').set('mailTemplatesDir');
于 2012-05-13T15:24:07.437 に答える