Node.js nodejs路由器
有许多关于服务器nodejs+express的教程。您可以简单地编写res.render(somefile)并快速显示html页面。但是如何在普通节点中实现,如何呈现页面? 我一时找不到答案 我编写了simple server,但不知道如何根据需要修复它:Node.js nodejs路由器,node.js,Node.js,有许多关于服务器nodejs+express的教程。您可以简单地编写res.render(somefile)并快速显示html页面。但是如何在普通节点中实现,如何呈现页面? 我一时找不到答案 我编写了simple server,但不知道如何根据需要修复它: var http = require("http"); var url = require("url"); var fs = require("fs"); function onRequest(request, response) {
var http = require("http");
var url = require("url");
var fs = require("fs");
function onRequest(request, response) {
var pathname = url.parse(request.url).pathname;
var filename = 'gallery/index.html';
fs.readFile(filename, function(err, file) {
if(err) {
response.writeHead(500, {"Content-Type": "text/plain"});
response.write(err + "\n");
response.close();
return;
}
response.writeHead(200, {"Content-Type": "text/html"});
response.write(file);
response.end();
});
}
http.createServer(onRequest).listen(8888);
console.log("Server has started.");
这段代码只是呈现一个页面-gallery/index.html,但是在没有图像的情况下呈现它,因为z找不到它们,但是如何呈现目录呢?例如,如果我写http://localhost:8888/gallery/
-我将从目录“gallery”接收index.html页面,如何在node.js中进行同样的操作
更新:我解决了节点静态模块的问题,这个答案对我很有帮助我想你需要在框架上好好学习一下,特别是在路由器的代码上-调用
res.render(somefile)
express做的是呈现一个HTML模板文件(默认为)。查看视图
文件夹,您将在那里找到*.jade
模板文件
如果你想自己做,你只需要拿出一个有很多占位符的模板:
<html>
<head/>
<body>
<h1>Hello {name}</h1>
</body>
</html>
你好{name}
然后将占位符(在本例中为
{name}
)替换为实际值。我用节点静态模块解决了我的问题,这个答案对我来说非常有用。是一个很好的参考,如果你想实现你自己的静态服务器。如果你想推出你自己的,这是一个很好的开始:但从长远来看,我会使用Connect Static或其他已构建的模块。