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

时间:2015-06-11 19:25:57

标签: javascript html node.js express pug

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

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

我正在使用纯HTML构建我网站的新部分,HTML模板与Jade模板位于不同的文件夹中。 我的问题是,如何进行设置以便我还可以使用HTML视图引擎来提供来自不同目录的文件(即:不是来自views)?

2 个答案:

答案 0 :(得分:2)

你有几个选择。

  1. 您可以将纯HTML放在.jade文件中,它就能正常工作。

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

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

    这样,./html-views电影中的任何内容都会以静态方式提供。 GET /view.html将投放./html-views/view.html

答案 1 :(得分:0)

好吧,这些HTML文件需要与您的nodejs服务器进行交互,以更改值“title”。

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

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

要提供HTML页面,您可以使用'fs'来读取HTML文件内容,然后使用HTML内容回复用户请求或使用express'功能     response.sendFile( '/路径/到/ file.html')。