为了学习node js我做了一些练习,但遇到了问题,“res”变量在index.js中工作,但在fs.exists函数中不起作用,为什么?。感谢您的回应。node.js res.write不起作用
server.js
var http = require("http");
global.PATH = __dirname;
http.createServer(function(req, res) {
var app = require("./index.js")(req, res);
res.end();
}).listen(8080);
index.js
var url = require("url");
var fs = require("fs");
module.exports = function(req, res){
if(req){
var pathname = url.parse(req.url).pathname.split("/");
pathname.splice(0,1);
var action = pathname[1];
fs.exists(PATH + "/" + pathname[0] + ".js" , function(exist){
var controller;
res.write('doesn\'t work');
if(exist)
{
if(!controller){
controller = require(PATH + "/controllers/" + pathname[0] + ".js")();
if(controller[action])
controller[action]();
}
}
});
}
}
'需要()'是同步的,所以我不建议你在每个使用它请求。首先缓存它,然后调用你需要的文件。 – Seth 2014-11-23 00:48:40