我不知道如何在stackoverflow中绘制我的项目结构,所以我将尝试尽可能清楚地解释我的问题。
我使用express.static中间件在我的root中有server.js文件。
app.use(express.static(path.join(__dirname, 'public')));
我的style.css文件包含在public / css / style.css
中另外,我使用的是ejs视图引擎,我有两个视图文件。 (ejs视图引擎正在查找视图文件夹)
第一个是views / main / home.ejs,第二个是views / sub / intro / location.ejs
我正在使用<%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
每张图片两次?
如果有更有效的方法来解决这个问题, 我真的很感激地提醒我。谢谢。
答案 0 :(得分:1)
由于您指的是同一个文件,因此您不需要再写两次。
因为您已配置express static
:
//for css file
<link rel="stylesheet" href="/css/style.css" type="text/css">
//for image.
<img src="/imagefilepath">
关键是应该有一个,而不是两个。
希望这会有所帮助。