私は小さな node.js/express プロジェクトを構築しており、configure.js にエクスプレス アプリの構成オプションを設定する関数があります。例えば:
サーバー.js
var express = require('express');
var server = ('./configure');
var app = express();
server.configure(app);
configure.js
exports.configure = function(app) {
app.set('title', 'Server');
};
これは機能しませんが、私がやろうとしていることを説明してくれることを願っています. server.js のアプリ インスタンスに変更を加えたいと考えています。どうすればいいですか?
編集:
これが機能しない理由を理解すれば、これをすべて機能させることができると思います。コールバックのタイミングと関係がありますか? 2 番目の console.log() は呼び出されません。
configure.js
var fs = require('fs');
var StringDecoder = require('string_decoder').StringDecoder;
var decoder = new StringDecoder('utf8');
function configure(app) {
var config = module.exports = {};
fs.readFile('config.txt', function (err, data) {
if (err) throw err;
config.title = decoder.write(data)
console.log(config.title)
});
if(config.title) console.log(config.title);
//app.set('title', config.title)
}
module.exports = function (app) {
configure(app);
};
サーバー.js
var express = require('express');
var cfg = require('./configure');
var fs = require('fs');
var app = express()
cfg(app)
(config.txt は echo 'server' > config.txt です)