呈现原始HTML

26

我想使用Express 3来呈现原始的.html页面,方法如下:

server.get('/', function(req, res) {
    res.render('login.html');
}

这是我配置服务器以呈现原始HTML页面的方法(灵感来自于这个过时的问题):

server
    .set('view options', {layout: false})
    .set('views', './../')
    .engine('html', function(str, options) {
        return function(locals) {
             return str;
        };
    });

不幸的是,使用这个配置会导致页面挂起,无法正确渲染。我做错了什么?如何在Express 3中呈现原始HTML而不使用Jade和EJS等高级渲染引擎?


决定通过Nodejs提供静态HTML的动机是什么?孤立地看,它似乎不是最优解。 - Richard Marr
3
这是一个非常简单的页面。例如,使用Jade来进行开发的开销并不值得。 - Randomblue
好的,假设在现有高流量Node应用程序中存在一个受到重击的静态页面,没有共享模板的要求。即使如此,对我来说这似乎仍然是太多的编码工作,编码意味着开发成本+测试+维护。我个人会在响应上设置长时间缓存头,并让Nginx / Apache从缓存中提供内容。这样,您就不需要自定义代码,而且模板生成开销变得无关紧要。 - Richard Marr
4
实际上,这些是使用JavaScript在客户端填充的静态HTML页面。生成填充信息的实时数据由Node.JS生成。我不会放弃使用Node.JS。 - Randomblue
我确实使用Node作为Web服务器,没有涉及Nginx。虽然我有WebSocket,但这可能对我的目的来说有些过于前沿了。 - Randomblue
显示剩余2条评论
11个回答

0

您可以使用以下代码在Express中呈现.html页面:

var app = express();

app.engine('html', ejs.__express);

在渲染时,您可以使用以下代码:

response.render('templates.html',{title:"my home page"});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接