ExpressJS用文件夹

时间:2017-12-20 15:26:29

标签: javascript node.js express

我遇到ExpressJS路线问题,获取请求的回报是什么。

我的代码:

const express = require('express');
const app = express();
var path = require('path');
const port = 80;

app.get('/results/:timestamp', function (req, res) {
  var filepath = path.join(__dirname + '/../testresults/' + req.params.timestamp + '/report.html');
  res.sendFile(filepath);
});
app.listen(port, () => console.log('Listening on port ' + port + '!'));

这就是内容文件夹的样子 folder with files

问题如下: 当我输入url时:   http://localhost/results/2017-12-20-16.3 expressJS正在尝试返回路径文件: ' [...] \ testresults \ app.js \ report.html'

如果我更改了代码' report.html'对于该文件夹中的任何其他文件,它从现有路径发送正确的文件。但是当我试图返回任何" xyz.html"文件它试图从" testresults / app.js / zyx.html"发送文件。而不是" testresults / 2017-12-20-16.3 / xyz.html"。

因此,当我尝试发送任何.html文件时,它会用" app.js"替换我的timestamp参数。但是当我尝试发送任何其他扩展时,它会正常发送它。这很奇怪。

我老实说不知道为什么这段代码会这样。我根本不理解它。这段代码几周前运作良好。现在就是这样。 知道如何解决这个奇怪的问题吗?

0 个答案:

没有答案