ExpressJS 4.0背景图像CSS Mime类型设置为文本

ExpressJS 4.0背景图像CSS Mime类型设置为文本,express,http-headers,static-files,Express,Http Headers,Static Files,好的,我找到了解决问题的方法,但我想知道是否有人能帮助我理解为什么会发生这种情况 我的app.js有: app.use(express.static(__dirname + '/public')); 并按预期提供静态文件 除了,当我尝试在css中添加背景图像时: html { background: url(img/tree.jpg) no-repeat center center fixed; -webkit-background-size: cover; -moz-

好的,我找到了解决问题的方法,但我想知道是否有人能帮助我理解为什么会发生这种情况

我的app.js有:

app.use(express.static(__dirname + '/public'));
并按预期提供静态文件

除了,当我尝试在css中添加背景图像时:

html {
    background: url(img/tree.jpg) no-repeat center center fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}
我有一个错误:

Resource interpreted as Image but transferred with MIME type text/html: "http://localhost:3000/css/img/tree.jpg". localhost/:1
现在,当我将CSS更改为 /img/tree.jpg

该文件的服务是正确的——因此这里有一个问题——在/css/img/tree.jpg处不应该有任何文件,那么为什么服务器认为图像是用文本标题发送的,而不是仅仅返回未找到的资源

谢谢你的帮助

好的,我知道了

我设置了另一个路由来提供一个角度页面来使用我的RESTAPI

app.get('*', function(request, response) {
        var options = {
            root: __dirname + '/public/'
    }
    response.sendFile('./views/index.html', options);
});
这意味着,当背景图像的CSS文件中的路径设置不正确时,我认为express只是继续尝试提供index.html文件。这意味着CSS页面说该文件是一个图像,但服务器说该文件是html。这就是为什么当应用程序尝试加载图像时,标题似乎是错误的,并且不仅仅是一个断开的链接