我正在学习如何制作网站,我遇到了一个问题,我找不到解决方案,我希望你能帮助我。我不能连接CSS文件或网站图标的图像,但如果我使用它的工作。我使用Node.Js为后端与EJS为前端。
这就是我如何连接图像:
<!DOCTYPE html>
<html lang="eng">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" sizes="32x32" href='src/images/favicon-32x32.png'>
<title>Title</title>
这是CSS文件:
<link rel="stylesheet" type="text/css" href="./style.css">
</head>
<body>
<h1 class="ws_title">Title</h1>
我的css文件和html模板在同一个目录中:src/views/project所有的图像都在src/images中
我尝试使用不同的浏览器,但不起作用
你知道问题出在哪里吗?
更新:我刚发现EJS必须使用expression.static,但是我不明白我应该用它做什么,你能解释一下吗?
2条答案
按热度按时间vwkv1x7d1#
尝试检查href中的
/src/images/favicon-32x32.png
路径zzoitvuj2#
我克隆了你的项目做了些调整。
1.将
images
目录重命名为public
目录。1.将
style.css
文件从/views/pocketsage/
移动到public
目录。1.添加
server.js
文件Serving static files,该行代码app.use("/", express.static(path.join(__dirname, "public")));
server.js
相加path
,const path = require("path");
1.将
href
更改为<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png" />
main.ejs
更改src
<img src="avatar.png" alt="" class="info-card__photo" />
1.重新启动
Server
和浏览器ctrl+f5
,瞧。文件夹和文件
server.js
和main.ejs
代码片段以及VScode的terminal
输出:在浏览器中输出
http://127.0.0.1:3002/pocketsages
以及
console
与AVATAR
和FAVICON
的关系: