我使用Node.js命令和VS2015中的node.js代码进行了测试。
var fs = require('fs');
var http = require('http');
var url = require('url');
var ROOT_DIR = "Scripts/http/";
http.createServer(function (req, res) {
var urlObj = url.parse(req.url, true, false);
var reqPath = ROOT_DIR + urlObj.pathname;
fs.readFile(ROOT_DIR + urlObj.pathname, function (err, data) {
console.log(req.pathname);
if (err) {
res.writeHead(404);
res.end(JSON.stringify(err));
return;
}
res.writeHead(200);
res.end(data);
});
}).listen(1111);
console.log('http server is open');
如果我从VS2015运行,然后输入" http://localhost:1111/hello.html",则输出hello.html中的内容。 但是,如果我打开以下命令,它会告诉我“http服务器已打开”,但是如果我输入上面的网址,它会告诉我找不到文件。
C:\Users\xx>cd E:\xx\NodeJs
C:\Users\xx>node E:\xx\NodeJsProject\Scripts\http\http_server_static.js
我认为这是相对路径问题,但我不知道有关它的详细信息 谢谢你的帮助。