html - 我想在 Express.js 中渲染静态 html,但仍然有 app.get() 逻辑方法

标签 html node.js express static

这似乎是一件荒谬的事情,但我想在 app.get() 方法中显示 html 文件。似乎我遇到的每个答案都使用解决方案 app.use(express.static(__dirname + '/public'));,但这不允许来自服务器的逻辑。

我想做的是让我的 .html 文件通过 Express 呈现,这样我就可以保留一些基本逻辑:

app.get('/', function(res, req) {
  if (condition) {
    res.render('this.html');
  }
  else {
    res.render('that.html');
  }
}

对我来说,这似乎很愚蠢,这仅适用于模板文件,而且我一定不会看到一些简单的东西来完成这项工作。

编辑:使用 sendFile 似乎不允许 HTML 包含外部文件、javascript/css。

最佳答案

您可以使用res.sendfile()(新版本为res.sendFile())来渲染html文件。

评论中问题的更新:

您可以在 html 文件中包含 css 和 javascript 文件(您可能需要正确指定资源的路径才能加载它们):

<head>
    <link rel="stylesheet" type="text/css" href="mystyle.css">
    <script src="myscripts.js"></script>
</head>

关于html - 我想在 Express.js 中渲染静态 html,但仍然有 app.get() 逻辑方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29267254/

相关文章:

javascript - 如何使警告框后面的背景可点击?

javascript - 从 Node.Js 和 Express.Js 中的导入函数返回响应

javascript - node.js 生成响应时出错。 TypeError : response. json 不是函数

Node.js Express + Passport + Cookie session n > 1 个服务器

javascript - Kue中如何返回jobID?

c# - HTMLAgilityPack 和 HTML 页面

javascript - 按钮点击文件在 html 中无法正确显示

javascript - 在PHP中获取HTML标签 'select'的值

node.js - 使用 npm 链接符号链接(symbolic link) react 模块以进行本地开发会产生错误