我不知道如何在Stackoverflow中绘制项目的结构,因此我将尝试解释我的问题尽可能清楚。
我使用express.static middleware。
app.use(express.static(path.join(__dirname, 'public')));
和我的style.css文件包含在public/css/style.css
中另外,我正在使用EJS视图引擎,并且有两个视图文件。(EJS View Engine正在寻找视图文件夹(
第一个是视图/main/home.ejs,第二个是视图/sub/intro/location.ejs
i'm使用<%include%>代码,
// views/main/home.ejs
<% include ../header.ejs %>
// views/sub/intro/location.ejs
<% include ../../header.ejs %>
问题是,在header.ejs文件中,我是否必须在两个不同的HREF路径中链接同一CSS文件?喜欢,
// views/header.ejs
// for views/main/home.ejs
<link rel="stylesheet" href="css/style.css" type="text/css">
// for views/sub/intro/location.ejs
<link rel="stylesheet" href="../css/style.css" type="text/css">
那是我唯一可以做的途径吗?
如果header.ejs有许多静态图像文件,我必须写
img src
每张图像两次?
如果有更有效的方法解决此问题,要提醒我这将是真的很感激。谢谢。
您不需要两次编写它们,因为您指的是同一文件。
自从您配置了express static
:
//for css file
<link rel="stylesheet" href="/css/style.css" type="text/css">
//for image.
<img src="/imagefilepath">
重点是应该有一个,而不是两个。
希望这会有所帮助。