Javascript 如何使用node.js中的express framework为图像文件提供服务?

Javascript 如何使用node.js中的express framework为图像文件提供服务?,javascript,css,node.js,express,Javascript,Css,Node.js,Express,在我的应用程序中,我使用express framework为客户端文件提供服务。但是在为html元素提供背景图像时,它的显示无法加载给定的url var express = require('express') , http = require('http'); var app = express(); app.configure(function(){ app.use(express.static(__dirname + '/public')); }); var serve

在我的应用程序中,我使用express framework为客户端文件提供服务。但是在为html元素提供背景图像时,它的显示无法加载给定的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);
在公共文件夹中,我创建了javascripts、stylesheets、images文件夹。现在我得到了javascripts和stylesheets。但是我不知道如何访问图像文件

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

如果您的文件目录是

/public
    /stylesheets
    /javascripts
    /images
        /logo.jpg
然后您的公共访问从
/public
目录开始。这意味着要访问图像,地址应该是
localhost:8080/images/logo.jpg

总之,您有两个问题

  • 在URL中使用正斜杠(
    /
    ),而不是反斜杠(
    \
  • 您没有在地址中包含
    图像
    目录

  • 您也在侦听端口8000,但您所引用的映像具有端口8080。

    如果映像位于私有文件夹中,该怎么办?虽然我不完全确定您所说的私有是什么意思,但我将假设您的意思是“只有所有者具有读取权限”。在这种情况下,您必须向运行节点进程的任何用户授予读取权限。您可能会创建一个新组,将节点用户添加到组中,将文件组所有者更改为新组,然后授予目录组读取权限。