首页 > 解决方案 > 如何通过url在节点js中呈现日志/文本文件?

问题描述

我正在尝试在浏览器中查看特定 url 时的日志文件。我在本地 (/logsFolder/app.log) 中有日志文件

我尝试了以下代码: 代码:1

var app = express();
var path = require('path');
var logFile = require('/logs/app');
app.use('/logs',logFile);

它抛出了类似的错误

Error: Cannot find module '/logs/app'

代码:2

const app = express();
const path = require('path');
const router = express.Router();

 router.get('/logFile', function(req, res){
    console.log("inside logt :");
    res.render('./logs/app.log');
});

任何人都可以请帮我解决。

标签: node.jsroutingrender

解决方案


您的日志是静态文本文件,不是 javascript,也不是 json 文件,这就是您不需要它的原因。(代码 1)

您也没有使用模板引擎,这就是您的代码 2 不起作用的原因,它不能自行渲染。

您可以将内置express中间件用于静态文件。

尝试这个:

app.use(express.static('logsFolder'))

现在您可以logsFolder通过请求文件名来访问 的所有内容。例如:http://your-url/app.log

或尝试使用您的代码 2res.sendFile而不是res.render


推荐阅读