Ejs包含路由网址

时间:2018-06-22 05:10:34

标签: node.js express ejs

文件Article.reset_counters Article.all.length - 1 watcher.Path = @"C:\Users\User1\ConfidentialFiles"; header.ejs位于menu.ejs中。

我想将这些文件包含在footer.ejs中。

所以,我尝试了:

views/layouts/basic/

效果很好。但是创建了许多视图文件,并且相对路径都不同。

因此,在views/index.ejs中:

<% include ./layouts/basic/header.ejs %>

app.js

app.use('/layout', express.static(__dirname + '/views/basic/layouts'));

但是它不起作用。它发生了

index.ejs

但是,当您使用'http://localhost:3000/layout/header.ejs'访问浏览器时,会下载<% include /layout/header.ejs %>

为什么不起作用?以及我该如何解决?

1 个答案:

答案 0 :(得分:1)

<% include /layout/header.ejs %>在服务器端评估,因此它在磁盘中查找绝对路径,而不是Web URL。当您向localhost:3000/layout/header.ejs发出http请求时,文件将被提供。

您可以使用https://www.npmjs.com/package/express-ejs-layouts创建各种布局并将其用于不同的视图。