【问题标题】:Express 3 - Serving static scripts/styles - Error: Failes to load resource (404)Express 3 - 提供静态脚本/样式 - 错误:加载资源失败 (404)
【发布时间】:2013-01-21 04:45:27
【问题描述】:

总的来说,我是节点和服务器端开发的新手,今天开始研究它,所以请注意我的问题。我在之前的帖子中寻找过合适的答案,但不知何故,每个建议的解决方案都受到了许多用户的批评。

由于以下错误,我无法提供静态脚本/样式: 加载资源失败:服务器响应状态为 404(未找到)

我使用的是 express 3.1.0。

这是我的代码:

app.js

var express = require('express');
var app = express();

var routes = require('./routes');

app.configure(function () {
    app.set('view engine', 'jade');
    app.use(express.static(__dirname + '/public'));
});

app.get('/', routes.home);
app.get('/about', routes.about);
app.get('/blog', routes.blog);
app.get('/faq', routes.faq);
app.get('/terms', routes.terms);
app.get('/privacy', routes.privacy);
app.get('/jobs', routes.jobs);
app.get('/press', routes.press);

app.listen(8080);

index.js(路由)

exports.home = function(req, res){
    res.render('home', { title: "Home"});
};

exports.about = function(req, res){
    res.render('about', { title: "About" });
};

etc...

layout.jade

doctype 5
html
    head
        title= title
        link(rel='stylesheet', href='public/styles/bootstrap.css')
    body
        block content
        br
        a(href='../') Home
        br
        a(href='../about') About
        br
etc...

home.jade

extends layout

block content
    p Home

【问题讨论】:

    标签: node.js static webserver express http-status-code-404


    【解决方案1】:

    当您设置服务器中间件时,它会在根目录中查找请求,除非另有说明,如果您在“public/styles”中查找样式表,您只需在“/styles”中请求它 让中间人回答 /public 的请求,将其更改为

    app.use('/public', express.static(__dirname + '/public'));
    

    【讨论】:

    • 谢谢!我试过了,效果很好!但是你能检查一下我对这件事的回答吗?
    【解决方案2】:

    我尝试过使用

    app.use('/public', express.static(__dirname + '/public'));
    

    而不是

    app.use(express.static(__dirname + '/public'));
    

    它奏效了。

    但是根据这篇文章中的第一个答案:express.js not serving my image 这不被认为是好的。我不明白为什么?还有什么更好的解决方案?

    【讨论】:

    • The comment,假设我有正确的答案,与答案的former edit 有关,其中建议使用fs.readFileSync。这被认为是一种倒退的做法,因为 Node 只为 JavaScript 提供 1 个线程,而 Sync 函数让它保持忙碌。
    猜你喜欢
    • 2020-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-30
    • 2013-10-19
    • 2019-07-16
    • 2019-01-27
    • 2021-07-22
    相关资源
    最近更新 更多