0

Express に別の場所にある静的ファイルを提供させようとしています。

これは私が持っている現在のディレクトリです:

|__client
|   |__thumbnails.html
|
|__server
    |__app.js

を使用しようとしましたapp.use(express.static(path.join(__dirname, '..', 'client')));が、ファイルをまったく提供しませんでした。ただし、path.joinget 要求に同じものを使用すると'/'、ファイルが送信されます。

ここに私が現時点で持っているコードがあります。機能しています。神に感謝しますが、実際にファイルを送信せずにサービスを提供する方法があるかどうかを確認したいと思います。

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;
4

2 に答える 2

2

serve-static モジュールを設定することで、好きなようにファイルを作成できます: 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)

これで、'index' 配列に入れたものはすべて、定義した順序で調べられます。それ以外の場合は、実際のファイル名を URL に入力すると、html ファイルにアクセスできます。

于 2018-02-27T18:23:07.277 に答える