如何解决中间件错误处理程序 express 不上传静态文件
app.use((error,req,res,next)=>{
res.status(500).render("500",{ pageTitle: 'Error',path: '/500' });
});
如您所见,未上传静态文件。
但是如果我正常渲染它(不在错误处理程序中),我有静态文件(css js 等)。 整个代码是 app.js:
const path = require('path');
const express = require('express');
const testConnectionMysql= require('./util/database').checkConnection;
const errorController= require('./controllers/error');
const authRoutes = require('./routes/auth');
const app = express();
//middleware that mananges incoming data
app.use(express.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname,'public')));
//-----
//settings of express
app.set('view engine','ejs');
app.set('views','views');
//-----
app.use(authRoutes);
// app.use((req,next) => {
// console.log(path.join(__dirname,'public'));
// return res.sendFile(path.join(__dirname,"01-LandingPage.html"));
// });
//let's manage easy errors
app.use(errorController.get404);
//-----
//here we manage hard error like database no available
app.use((error,next)=>{
console.log('mmmm');
res.status(500).render("500",path: '/500' });
});
//-----
app.listen(3000,() =>{
console.log("App is listening");
});
//-----
ps。我试图加载 500 页,特别是当 mysql2 抛出 ECONNREFUSED(当数据库关闭时)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。