我怎么能在node.js中呈现html文件

我试图呈现HTML文件,但我得到这个错误。 我有公用文件夹中的login.html提前呈现html file.thanks。

我的服务器端编码

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”

 at Function.render (/home/aware/local/src/node_modules/express/lib/application.js:493:17) at ServerResponse.render (/home/aware/local/src/node_modules/express/lib/response.js:753:7) at /home/aware/local/src/health/demo2.js:17:9 at callbacks (/home/aware/local/src/node_modules/express/lib/router/index.js:161:37) at param (/home/aware/local/src/node_modules/express/lib/router/index.js:135:11) at pass (/home/aware/local/src/node_modules/express/lib/router/index.js:142:5) at Router._dispatch (/home/aware/local/src/node_modules/express/lib/router/index.js:170:5) at Object.router [as handle] (/home/aware/local/src/node_modules/express/lib/router/index.js:33:10) at next (/home/aware/local/src/node_modules/express/node_modules/connect/lib/proto.js:199:15) at resume (/home/aware/local/src/node_modules/express/node_modules/connect/lib/middleware/static.js:60:7) 

您可以使用html来查看节点视图最接近的是EJS(embedded式JavaScript)

通过这种方式,您可以编写普通的HTML,通过节点传递数据,并使用如下标签显示它们: <%= var %>

http://embeddedjs.com/

https://github.com/visionmedia/ejs

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

我刚接触今天连接,想解决一个类似的问题,提供一个简单的HTML文件。 就我而言,我想在之前的任何中间件没有完成请求时显示404。

我创build一个函数,show404,然后你可以做一些像app.use(show404) 。 这里是我的CoffeScript,主要是启发连接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