我试图将gif发送到客户端以便稍后在CSS中使用。控制台日志给我找不到gif的404。它位于公共目录中。
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var express = require('express');
var peopleCount = 0;
express().use(express.static('public'));
app.get('/', function(req, res){
res.sendFile(__dirname + '/public/index.html');
});
span {
background:url('public/gif.gif');
background-repeat:repeat-x;
background-position:0 0;
text-align:center;
color:transparent;
-webkit-background-clip:text;
-moz-background-clip:text;
background-clip:text;
-webkit-text-fill-color:transparent;
font-weight: bold;
font-size: 20px;
}
服务器发送index.html文件,但不是gif.gif
卢卡斯
答案 0 :(得分:0)
尝试:
app.use(express.static('public'));
而不是
express().use(express.static('public'));
答案 1 :(得分:0)
对于初学者,public/gif.gif
是相对参考,因此这将在<window location>/public/gif.gif
处查找文件。假设您希望此引用<root>/public/gif.gif
,请使用绝对引用(注意前导/
):
background:url('/public/gif.gif');
此外,静态目录应绑定到app实例,并应指定调用服务器时要使用的名称:
app.use('/public', express.static(path.join(__dirname, 'public')));
在上面的示例中,当调用服务器时,项目中的__dirname + /public
目录将位于/public
。