我一直在网上寻找一种获取如下 URL 的方法:
example.com/games/game1
代替example.com/games?id=game1
我浏览了 Node.JS 网站,但找不到任何似乎适用于我的情况的内容。
非常感谢任何帮助。我找到了一个使用 .HTACCESS 文件执行此操作的答案,但我找不到 node.js 替代方案。我发现的问题/答案是,创建漂亮的 URL
非常感谢任何帮助。
我一直在网上寻找一种获取如下 URL 的方法:
example.com/games/game1
代替example.com/games?id=game1
我浏览了 Node.JS 网站,但找不到任何似乎适用于我的情况的内容。
非常感谢任何帮助。我找到了一个使用 .HTACCESS 文件执行此操作的答案,但我找不到 node.js 替代方案。我发现的问题/答案是,创建漂亮的 URL
非常感谢任何帮助。
此 URLexample.com/games?id=game1
将 id 作为 GET 参数传递。要将其替换为example.com/games/game1
,您只需制定有关如何传递此 ID 的策略。这种策略通常被node.js
称为路线,它们是如何实现目标的大量选择:
app.get('/games/:id', games.view);
然后,在你的 game.js 文件中:
exports.view = function(req, res){
console.log(req.params.id); //gives you game1
//...
};
- 另一种方法是使用特定于路由的东西(而不是整个框架)。导演想到了。
var viewGame = function(gameId) { console.log(gameId); };
var routes = {
'/games/:gameId': viewGame
};
您可以列出所有请求,然后解析request.url
以决定要呈现哪个页面或是否返回 404 / 302 或任何您想做的事情。这只是一个小例子。您可能希望将路由与逻辑分开:
var http = require("http");
http.createServer(function(request, response) {
var parts = request.url.split('/');
if(parts[0] === 'games'){
var id = parts[1];
// Check if valid id
// And render the correct page
}
}).listen(80);