所以我的应用程序位于http://localhost:8080/
我如何拥有http://localhost:8080/subpage
?因为它看起来像任何页面命中:8080拉取server.js
谢谢!
**编辑 - 这是对我有用的(感谢 stewe的 回答)**
var app = require('http').createServer(createServer);
var fs = require('fs');
var url = require('url');
function createServer(req, res) {
var path = url.parse(req.url).pathname;
var fsCallback = function(error, data) {
if(error) throw error;
res.writeHead(200);
res.write(data);
res.end();
}
switch(path) {
case '/subpage':
doc = fs.readFile(__dirname + '/subpage.html', fsCallback);
break;
default:
doc = fs.readFile(__dirname + '/index.html', fsCallback);
break;
}
}
app.listen(8080);
答案 0 :(得分:10)
这是一个开始:
var http=require('http');
var url=require('url');
var server=http.createServer(function(req,res){
var pathname=url.parse(req.url).pathname;
switch(pathname){
case '/subpage':
res.end('subpage');
break;
default:
res.end('default');
break;
}
}).listen(8080);
答案 1 :(得分:5)
我遇到了和你一样的问题,我认为我们都在寻找的是node.js的路由引擎。基本上,好吧我得到了nodejs的hello-world示例,但是如何构建响应不同请求的东西呢?
对于通过Google访问此页面的未来用户,您必须查看Express.js这本优秀指南并介绍明确Understanding Express.js。这两个将解决问题