Express提供静态文件:在不同位置的服务器和客户端



我正在尝试让我的快递服务在另一个位置的静态文件:

这是当前的目录:

|__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服务。

相关内容

  • 没有找到相关文章

最新更新