Express маршрутов для обслуживания каталога содержания c содержимого - PullRequest
0 голосов
/ 27 марта 2020

Я очень новичок в NodeJs и Express. Вот моя структура каталогов:

.
├── app.js
├── package-lock.json
├── package.json
├── views
│   ├── login.ejs
│   └── partials
│       ├── footer.ejs
│       └── header.ejs
└── www
    ├── anchor.html
    └── index.html

Я пытаюсь создать маршрут express, используя app.get для загрузки содержимого каталога 'www', но динамически я использовал res.sendFile:

app.get("/mypath", function(req, res){
  res.sendfile(__dirname + '/www/');
});

однако он позволяет мне обслуживать только один индексный файл. html, а в индексе. html файл является якорной ссылкой на другой html файл 'anchor. html', но это не будет загружать этот файл.

Есть ли эквивалент sendFile, который позволил бы мне обслуживать весь каталог 'www' НО до маршрута получения?

Ответы [ 2 ]

1 голос
/ 27 марта 2020

Прочитайте документацию: https://expressjs.com/en/starter/static-files.html

app.use(express.static(path.join(__dirname, 'public')));

Приведенный выше фрагмент статически будет обслуживать все файлы в public/

0 голосов
/ 27 марта 2020

Вы можете добавить путь монтирования:

app.use('/path1', express.static(__dirname + '/www'));            // Serves files as named in the '/path1' url path
app.use('/path2', express.static(__dirname + '/otherdirectory')); // Serves files as named in the '/path2' url path

Например, если вы хотите получить доступ к индексу. html в / www directory, вы бы go to (при условии, что вы размещение вашего веб-приложения на порте localhost 80) localhost / path1 / index. html.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...