如何将数据从节点服务器传递到ejs标头

时间:2020-03-01 16:36:59

标签: node.js ejs

我正在尝试使用每个页面上包含的标头ejs文件创建一个Node网站。

当我加载index.ejs页面时,我还希望将变量从服务器传递到我的标题页面。

我可能是错的,但是似乎做到这一点的最佳方法是将变量从服务器传递到索引页,再传递到标头。

目前,我看到的唯一示例是以下代码片段:

<%- include("header",{title:"your_title"}) %>

要注意的是,我需要用我在服务器端设置的"your_title"变量替换title

有没有办法做到这一点?

我的直觉是它可能看起来像以下内容:

<% runHeader = function(title){ %>
  <%- include('../partials/header', {title: title}); %>
<%}; %>

不幸的是,include在这里似乎无法正常运行,并且标头根本无法加载。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

因此,我发现要执行此操作的最佳方法是在项目文件夹下创建一个“ views”文件夹。 views文件夹将包含一个名为“ title.ejs”的ejs文件,然后调用应类似于<%- include("title") -%>,它将在同一目录中查找该ejs文件。我会说在标题文件中添加一些示例HTML,然后一切正常。

确保已安装NPM ejs,然后在nodefile中使用const ejs = require("ejs");和app.set('view engine', 'ejs');app.use(express.static("public"));在同一node.js文件中。

希望这很有意义,祝你好运。