我正在尝试让我的快递服务在另一个位置的静态文件:
这是当前的目录:
|__client
| |__thumbnails.html
|
|__server
|__app.js
我尝试只使用app.use(express.static(path.join(__dirname, '..', 'client')));
,但根本不会使用该文件。但是,当我在'/'
上使用相同的path.join
进行GET请求时,它将发送文件。
在这里,我目前拥有的代码。它在工作,谢谢上帝,但是我想看看我是否有办法在不实际发送文件的情况下使用它。
const express = require('express');
const path = require('path');
const similar = require('./routes/similar');
const image = require('./routes/images');
const app = express();
app.use(express.static(path.join(__dirname, '..', 'client')));
app.use('/item', similar);
app.use('/thumbnail', image);
app.get('/', (req, res) => res.status(200).sendFile(path.join(__dirname, '..', 'client', 'thumbnail.html')));
module.exports = app;
您可以通过配置服务静态模块来制作您想要的任何东西:https://expressjs.com/en/resources/middleware/serve-static.html
从该页面:
var express = require('express')
var serveStatic = require('serve-static')
var app = express()
app.use(serveStatic('public/ftp', {'index': ['default.html', 'default.htm']}))
app.listen(3000)
现在,将按照您定义的顺序查看您放入"索引"数组中的任何内容。否则,如果将实际文件名放入URL中,您仍然可以到达HTML文件。
好吧,我想我已经弄清楚了。因此,显然您必须将HTML保存为索引。Express正在寻找,但是由于我没有索引。html它跳过了我的缩略图。
因此,将我的html重命名为index.html解决了问题。
更新:因此,读取文档,您可以通过选项通过选项来设置默认值的内容。我通过{ index: 'thumbnails.html' }
作为静态的第二个参数,它为我的html服务。