基本问题,但不知道从哪里开始搞清楚这一点。
我在端口3000上设置了一个非常简单的节点服务器,它只响应index.html文件。当我在浏览器中调用http://localhost:3000
时,我会使用依赖项来提供正确的页面。我不想每次都进行身份验证,所以我想从用户级别运行它。
我尝试在浏览器中输入http://localhost~myusername:3000
,但我一直在:
The requested URL /~myusername:3000 was not found on this server.
(我已经设置了用户级别的root,可以通过~/Sites
访问,并且可以通过这里访问文件,甚至是php,只是当我开始使用节点服务器时出现这个问题。)
如何让node.js响应用户级请求?并且它从用户级别root的相对路径而不是index.html
提供正确的/library/WebServer/Documents
?
更新 server.js的代码:
var http = require(' http'); var fs = require(' fs');
function send404(response) {
response.writeHead(404, { 'Content-Type': 'text/plain' });
response.write('Error 404: Resource not found.');
response.end();
}
var server = http.createServer(function (req, res) {
if (req.method == 'GET' && req.url == '/') {
res.writeHead(200, { 'content-type': 'text/html' });
fs.createReadStream('./index.html').pipe(res);
}
else {
send404(res);
}
}).listen(3000);
console.log('server running on port 3000');