如何在同一节点服务器上同时呈现 Jade 模板和 HTML 文件?

How can I render both Jade templates and HTML files on same Node server?

我目前在我的 Node 项目中使用 Jade 模板。设置非常基本:

app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

我正在使用纯 HTML 构建我网站的新部分,并且 HTML 模板与 Jade 模板位于不同的文件夹中。 我的问题是,如何设置才能让我也可以拥有一个 HTML 视图引擎来提供来自不同目录(即:不是来自 views)的文件?

好吧,这些 HTML 文件将需要与您的 nodejs 服务器交互以更改值,比如 "title"。

玉中- 标题=页面标题 (参考:http://jade-lang.com/)有效。

但是,要在提供 HTML 页面时获得相同的功能,您必须首先提供 HTML 页面作为对请求的响应,然后再发出另一个 AJAX 请求DOM.

的更改

要服务 HTML 页面,您可以使用 'fs' 读取文件 HTML 文件内容,然后用 HTML 内容响应用户请求或使用 express 功能 response.sendFile('/path/to/file.html').

您有两种选择。

  1. 您只需将 HTML 放入 .jade 文件即可。

  2. 或者您可以设置一个静态路由器来直接提供 HTML 文件。

    app.use(express.static('./html-views'));
    

    这样,您的 ./html-views 文件夹中的任何内容都将静态提供。 GET /view.html 将投放 ./html-views/view.html