Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js nodejs路由器_Node.js - Fatal编程技术网

Node.js nodejs路由器

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) {

有许多关于服务器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 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或其他已构建的模块。