我想使用 morgan 創建一個中間件,我嘗試匯出中間件功能,然后在 app.js 中要求。我不知道為什么這不起作用
中間件:
const morgan = require('morgan');
const rfs = require("rotating-file-stream");
const rfsStream = rfs.createStream("logs/log.txt", {
size: '10M', // rotate every 10 MegaBytes written
interval: '1d', // rotate daily
compress: 'gzip' // compress rotated files
})
function logger(req, res, next){
morgan('tiny', {
stream: rfsStream
})
next();
}
module.exports.logger = logger;
應用程式:
const express = require('express');
const app = express();
const PORT = 4000;
const { logger } = require('./middlewares/logger');
app.get('/', logger, (req, res) => {
res.send('Hello World!')
});
app.listen(PORT, () => {
console.log(`app running on port: ${PORT}`);
});
uj5u.com熱心網友回復:
Morgan 本身就是一個中間件。這意味著你應該通過它req,res并且next。
node.js 的 HTTP 請求記錄器中間件
因此,嘗試Middleware像這樣更改您的檔案:
const morgan = require('morgan');
const rfs = require("rotating-file-stream");
const rfsStream = rfs.createStream("logs/log.txt", {
size: '10M', // rotate every 10 MegaBytes written
interval: '1d', // rotate daily
compress: 'gzip' // compress rotated files
})
const logger = morgan('tiny', {
stream: rfsStream
})
module.exports.logger = logger;
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/443018.html
標籤:javascript 节点.js 表示 中间件 摩根
上一篇:波紋環位于地圖的背面而不是正面
