express.static (path, [options]) возвращает функцию. Итак, в основном то, что делает ваш код:
router.get('/v1/secure-api-documentation',ensureAuthenticate,(req,res)=>{
express_static_function // this function further accepts arguments req, res, next
//there is no function call happening here, so this is basically useless
});
Однако, это не то, для чего используется express.static
Express.static берет путь запроса и ищет файл с тем же именем в указанной вами папке.
Обычно, если запрос GET приходит к '/ v1 / secure-api-Documentation' , он будет принимать путь запроса после '/ v1 / secure-api-Documentation' и найдите это в папке api_docs .
Передача express.static в router.get () вызовет его для самого КОНКРЕТНОГО пути. Это важно.
GET '/ v1 / secure-api-Documentation / index.html' завершится ошибкой. Потому что такой маршрут не обрабатывается.
Что вам нужно сделать, это вызвать экспресс-статический вызов для любого пути, например '/ v1 / secure-api-Documentation / *' .
Для этого вам нужно взять объект экспресс-приложения и написать следующий код:
//make sure to use the change the second argument of path.join based on the file where your express app object is in.
app.use('/v1/secure-api-documentation',express.static(path.join(__dirname,'../api-doc')));
Теперь это будет работать не только для файла index.html, но и для любого файла js / css внутри запрашиваемого api_docs.