Как обслуживать папку в «общедоступных» с помощью экспресс - PullRequest
0 голосов
/ 01 сентября 2018

Я пытаюсь открыть страницу входа в моей общедоступной папке в экспрессе, пока я не смог этого сделать. Я пытался проложить путь, но я не знаю, почему он не работает. Я хочу, чтобы у меня было больше кода в обратном вызове, но из-за того, как оно есть сейчас, я могу это сделать, когда я пытаюсь сделать обратный вызов полной функцией, он тоже не будет работать.

My folder structure
- root
  - server
    - server.js
  - public
    - login
      - index.html

const express = require('express');
const app = express();
const path = require('path');

app.listen(4000);
console.log('server started\n');


app.get('/', () => app.use(express.static(__dirname + '/public/login')));

// what i want to have 
app.get('/', () => {
  // serve file 
});

1 Ответ

0 голосов
/ 01 сентября 2018

Вы должны монтировать статический файл, обслуживающий непосредственно при запуске сервера, а не после того, как поступит первый запрос, поэтому эта строка:

app.get('/', () => app.use(express.static(__dirname + '/public/login')));

должно быть:

app.use(express.static(__dirname + '/../public/login'));

Вы также должны перейти на одну папку, поскольку код запускается в каталоге /server/, что можно сделать с помощью /../.

Если вы хотите сервер index.html только из общедоступной папки, а не всех файлов в нем, то вы можете сделать это

app.get('/', (req, res) => res.sendFile('index.html', { root: __dirname + '/../public/login'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...