爲了學習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