How to serve the image files using express framewo

2020-06-16 04:02发布

问题:

In my application im using express framework to serve the client side files.But while giving background image for the html element.Its showing failed to load given url.

var express = require('express')
    , http  = require('http');

var app = express();
app.configure(function(){
    app.use(express.static(__dirname + '/public'));
});
var server = http.createServer(app);
var io = require('socket.io').listen(server);
server.listen(8000);

In public folder i have created javascripts,stylesheets,images folder.Now i'm getting javascripts and stylesheets.But i don't know how to access the image file.

.logo {
    background:url('localhost:8080\logo.jpg');//This image url not loading
    float:left;
    width:20px
    height:20px;
}

回答1:

If your file directory is like

/public
    /stylesheets
    /javascripts
    /images
        /logo.jpg

then your public access begins at the /public directory. This means that in order to access the image, the address would be localhost:8080/images/logo.jpg.

In summary, you had two problems.

  1. Use a forward slash (/), not a backslash (\) in your URLs
  2. You missed including the image directory in the address


回答2:

You are also listening on port 8000, but the image you are referencing has port 8080.