Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.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
Javascript 如何在node.js中呈现html文件_Javascript_Html_Node.js_Render - Fatal编程技术网

Javascript 如何在node.js中呈现html文件

Javascript 如何在node.js中呈现html文件,javascript,html,node.js,render,Javascript,Html,Node.js,Render,我试图呈现html文件,但我得到了这个错误。我在公用文件夹中有login.html。如何呈现html文件。提前谢谢 我的服务器端编码 var express = require('express'); var app = express(); app.configure(function(){ app.set("view options", {layout: false}); app.use(express.static(__dirname + '/public')); }

我试图呈现html文件,但我得到了这个错误。我在公用文件夹中有login.html。如何呈现html文件。提前谢谢

我的服务器端编码

var express = require('express');

var app = express();

app.configure(function(){

  app.set("view options", {layout: false});

  app.use(express.static(__dirname + '/public'));


 });

app.get('/', function(req, res) {

    res.render('login.html');

});

app.listen(8000)
错误:无法查找视图“login.html”


对于节点视图,最接近使用html的是EJS(嵌入式JavaScript)

通过这种方式,您可以编写普通HTML,通过节点传递数据,并使用如下标记显示它们:


您保存在公用文件夹中的文件将不会呈现,因为它们被设置为静态文件,因此将按原样提供服务。将呈现此之外的所有其他文件。记得设置渲染引擎。

我今天刚联系了connect,想解决一个类似的问题,提供一个简单的HTML文件。在我的例子中,我想在以前的任何中间件都没有完成请求时显示404

我创建了一个函数show404,然后您可以执行类似于
app.use(show404)
的操作。以下是我的CoffeScript,主要灵感来源于connect errorHandler源代码

show404 = (req, res, next) ->
    res.statusCode = 404
    res.setHeader 'Content-Type', 'text/html; charset=utf-8'
    html_path = require("path").resolve('.tmp/404.html')
    require('fs').readFile html_path, (err, data)->
        throw err if err
        console.log "DATA:", data
        res.end data

告诉我htmlWell的渲染引擎,你可以选择你喜欢的。我用摩卡咖啡。但是,只有在提供动态内容时才需要渲染引擎。在这种情况下,你一定已经决定买一个了?
show404 = (req, res, next) ->
    res.statusCode = 404
    res.setHeader 'Content-Type', 'text/html; charset=utf-8'
    html_path = require("path").resolve('.tmp/404.html')
    require('fs').readFile html_path, (err, data)->
        throw err if err
        console.log "DATA:", data
        res.end data