EJS查看发动机路径设置问题在nodejs中



我不知道如何在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">

重点是应该有一个,而不是两个。

希望这会有所帮助。

最新更新