gpt4 book ai didi

javascript - 渲染原始 HTML

转载 作者:IT老高 更新时间:2023-10-28 22:01:32 26 4
gpt4 key购买 nike

我想使用 Express 3 渲染原始 .html 页面,如下所示:

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

这就是我配置服务器以呈现原始 HTML 页面的方式(灵感来自 this outdated question):

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

不幸的是,使用此配置页面会挂起并且永远不会正确呈现。我做错了什么?如何在没有 Jade 和 EJS 等精美渲染引擎的情况下使用 Express 3 渲染原始 HTLM?

最佳答案

我认为你想说的是:我怎样才能提供静态 html 文件,对吧?

让我们开始吧。

首先,我自己项目中的一些代码:

app.configure(function() {
app.use(express.static(__dirname + '/public'));
});

这意味着在我的应用文件夹中有一个名为 public 的文件夹。我所有的静态内容,例如 css、js 甚至 html 页面都在这里。

要实际发送静态 html 页面,只需将其添加到您的应用文件中

app.get('/', function(req, res) {
res.sendFile(__dirname + '/public/layout.html');
});

因此,如果您有一个名为 xyz.com 的域;每当有人去那里时,他们都会在浏览器中看到 layout.html。

编辑

如果您使用的是 express 4,情况会有所不同。路由和中间件的执行顺序与它们的放置顺序完全相同。

一个很好的技术是将静态文件服务代码放在所有标准路由之后。像这样:

// All standard routes are above here
app.post('/posts', handler.POST.getPosts);

// Serve static files
app.use(express.static('./public'));

这非常重要,因为它可能会消除代码中的瓶颈。看看这个stackoverflow answer (他第一次谈到优化)

express 4.0 的另一个主要变化是您不需要使用 app.configure()

关于javascript - 渲染原始 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14115893/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com