javascript - Node/Express 不会在 500 错误页面上加载 CSS

标签 javascript html css node.js pug

对于我的错误页面,我使用

// 500 error
app.use(function (err, req, res, next) {
    console.log(err);
    console.log(err.stack);
    res.render("error", {
        status: err.status || 500,
        error: err,
        title: config.pageTitles.error,
        ENV: app.get('ENV')
    });
});

我的错误页面是一个 Jade 模板,看起来:

extends base
block body
    body(class="gray-bg")
        div(class="middle-box text-center animated fadeInDown")
            h1 500
            h3(class="font-bold") Internal Server Error
            div(class="error-desc")
                p   The server encountered something unexpected that didn't allow it to complete the request. We apologize.

我的其他正常页面是

extends base
block content
    #application

我的问题是当我收到 500 错误时,CSS 未加载;但是,如果我在正常页面上加载页面error,则加载CSS。看来错误的 app.use 会导致此问题。

感谢帮助

最佳答案

通常,当 Assets 未加载时(例如,服务器为 Assets 返回 404),问题与(相对)路径的使用有关。

尝试对 CSS 文件使用绝对路径(在模板中)和/或使用浏览器的 Web 开发工具检查所请求的资源路径并修复适当的相对路径(例如,在适当的位置添加 .. 以获取正确的路径)。

关于javascript - Node/Express 不会在 500 错误页面上加载 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34686134/

相关文章:

javascript - 无法通过Jquery动态添加下拉菜单

javascript - 如何在子函数中返回一个值?

javascript - 我可以选择链接引用的 ID 吗?

php - 如何使用 php 显示 MySQL 表并在网络浏览器中编辑它

html - 在 Bootstrap 4 导航栏中将 Logo 与按钮垂直对齐

css - Codeigniter 简单的 baseurl css

html - CSS 网格 : align square cells with container edges with consistent grid gap?

javascript - 滚动离开网页顶部后为 div 设置动画

javascript - 提交表单前检查值

css - 将错误消息设置到控件 Bootstrap 和 Angular Js 的右侧