【发布时间】:2019-01-26 23:41:12
【问题描述】:
我正在尝试创建一个快速应用程序,它具有以下文件夹结构。
--My_App
--public
--stylesheets
app.css
--views
--camps
index.ejs
--partials
header.ejs
app.js
我已经设置express 来提供公共目录的静态文件以及app.use(express.static("public"));
问题来了:
我使用<link> 标签的href 属性将app.css 文件链接到我的index.ejs 文件,
通过使用路径 = "/stylesheets/app.css",它可以工作。
但是当我尝试使用链接 header.ejs 文件到 index.ejs 文件时
<% include /partials/header.ejs %>
它给出了一个错误 - could not find "/partials/header.ejs" 。这不应该有效吗,因为 express 也提供视图目录的内容
另外,能否请您提及上述使用的相对路径对应的绝对路径。
【问题讨论】:
-
你试过尝试“../partials/header.ejs”
-
是的,它有效。但我想知道为什么它不适用于
<% include /partials/header.ejs%> -
".ejs" 不是静态文件,而是在 v8 引擎中处理。此外,您将一个文件包含在另一个文件中。这与在另一个文件中包含指向该文件的链接不同。
-
好的,谢谢您的回复。我还有一个问题(抱歉给您带来不便)。两个相对路径是否指向同一个根目录?
-
我认为如果你有这些代码行,你需要了解它们在代码中的含义 app.set('views', path.join(__dirname, '/views')); app.set('视图引擎', 'ejs');