gpt4 book ai didi

javascript - 表示没有用绝对路径加载图片

转载 作者:太空宇宙 更新时间:2023-11-04 06:26:03 27 4
gpt4 key购买 nike

我正在制作一个 NodeJS 应用程序,我在外部 CSS 文件中设置了一个带有背景图像的 div 元素。 CSS 文件本身工作得很好,没有问题。此外,当我在没有 Node 的情况下加载 HTML 时,背景图像显示得很好。

CSS:

#schoolInfo {
display: block;
background-image: url('slide1pic.jpg');
background-repeat: no-repeat;
width: 100%;
height: 100%;
background-size: cover;
}

应用程序.js:

var express = require('express');
var app = express();
var serv = require('http').Server(app);
var io = require('socket.io')(serv);
var path = require('path');

var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended:false}));
app.use(bodyParser.json());

app.use(express.static('client/home'));

app.post('/createSchool', function(req, res) {

app.use(express.static('client/school'));
res.sendFile(path.join(__dirname, '/client/school/index.html'));

io.emit('updateSchool', response);
});

serv.listen(3000);
console.log("Server started on localhost://3000");

很明显,我用的是绝对URL,不知道为什么express找不到。我在命令提示符(这是我运行服务器的地方)或浏览器的控制台中没有收到任何错误。

我需要向我的 app.js 添加一些东西吗?任何帮助将不胜感激。

最佳答案

您缺少从提供文件的 url 中获取的路由:

app.use('/', express.static('client/home'));

路径 '/' 是相对于您开始 Node 进程的位置。

如果你的 home 目录中有一个 index.html 文件,那么你可以在那里有一个 images 文件夹,你的 express.static() 看起来像这样:

app.use('/images', express.static('client/home'));

在您的 html 文件中,您只需放入:

<img src="images/file.png" />

然后您只需要在以下位置启动您的 Node 进程:

client\home > node server.js

关于javascript - 表示没有用绝对路径加载图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55082011/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com