Restify: как обслуживать статические файлы, не конфликтуя с другими маршрутами?

У меня есть приложение node.js, которое я создаю, и я использую restify. Я настроил маршрут GET для некоторых данных, но я также хочу обслуживать статический контент из своего корня.

ПОЛУЧИТЬ маршрут:

server.get({path : SURVEY_QUESTION_PATH, version : appVersion}, getLandingSurveyQuestions);

Статические маршруты:

server.get(/\/?.*/, restify.serveStatic({
  directory: 'static',
  default: 'index.html'
}));

Этот статический маршрут конфликтует с моим динамическим маршрутом: как я могу обслуживать этот статический контент, не конфликтуя с другими маршрутами, которые у меня есть? Я бы не хотел настраивать статические маршруты для всех отдельных файлов в моем проекте.

Я пытался:

  1. Изменение порядка регистрации маршрута
  2. Настройка регулярного выражения статического маршрута

person Wayne Hartman    schedule 17.05.2016    source источник


Ответы (1)


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

server.get(/(^\/$)|(\.(html|js|css|png|jpg)$)/, restify.serveStatic({
  directory: 'static',
  default: 'index.html'
}));
person Wayne Hartman    schedule 17.05.2016