我正在构建一个小型 node.js/express 项目,并在 configure.js 中有一个函数,可以在我的 express 应用程序中设置配置选项。例如:
服务器.js
var express = require('express');
var server = ('./configure');
var app = express();
server.configure(app);
配置.js
exports.configure = function(app) {
app.set('title', 'Server');
};
这不起作用,但我希望它解释了我正在尝试做的事情。我想对 server.js 中的应用程序实例进行更改。我该怎么做呢?
编辑:
好的,我想如果我理解为什么这不起作用,我可以让这一切正常工作。是否与回调的时间有关?第二个 console.log() 没有被调用。
配置.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)