node.js - 如何通过url在node js中渲染日志/文本文件?

标签 node.js routes render

我正在尝试在浏览器中查看点击特定网址时的日志文件。我的本地日志文件 (/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');
});

任何人都可以帮我解决吗?

最佳答案

您的日志是静态文本文件,不是 javascript,也不是 json 文件,这就是为什么您不能要求它。 (代码1)

您没有使用template engine或者,这就是为什么你的代码 2 不起作用,它无法自行渲染。

您可以对静态文件使用内置的 express 中间件。

试试这个:

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

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

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

关于node.js - 如何通过url在node js中渲染日志/文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55089748/

相关文章:

ruby-on-rails - 更改资源路径

php - Laravel 尝试输出帖子,但 Controller 功能似乎工作不正常

node.js - Express 和 Redis session 无法在浏览器关闭后继续存在

node.js - 我的 Lambda 在代码完成之前结束 - node.js

node.js - au run - 应用程序包中不包含 js 文件

resources - Symfony2 中的路由

c++ - 我是否错误地渲染了 BSP 树?

javascript - 为什么我的 Rails 应用程序在生产环境中无法正确响应 .js 格式?

c# - C#中的卡片打印

javascript - 无法在heroku上的node+express网站的index.js中创建新路线