проблема размещения статической страницы с обратной связью - PullRequest
1 голос
/ 09 октября 2019

Я хочу разместить статическую страницу в loopback. Я добавил HTML в клиентский каталог и удалил путь по умолчанию в server / boot / root.js

Но я должен следовать некоторым правилам о маршрутах, чтобы заменить / api / 'на' / 'вconfig.json restApiRoot. Теперь я хочу разместить эту статическую HTML-страницу по маршруту '/'. Но это выдает эту ошибку

{"success":false,"message":"There is no method to handle GET /"}

Кроме того, я попытался установить другой путь для статической страницы в middleware.json, например,

"files": {
    "loopback#static": {
      "paths": [
        "/admin/"
      ],
      "params": "$!../client"
    }
  },

Тем не менее, это также не работает. PS: я добавил загрузочный скрипт для следования нашему кодексу поведения для ответа, поэтому он дает такой тип ответа.

1 Ответ

1 голос
/ 11 ноября 2019

По умолчанию обработчик REST API LoopBack берет на себя ответственность за все пространство имен пути, в котором он смонтирован. Если вы смонтируете свой REST API на /api, тогда наш обработчик вернет 404 всякий раз, когда путь не сопоставлен ни с какими удаленными методами. Когда вы монтируете свой REST API на /, обработчик захватит весь HTTP-сервер.

К счастью, это можно отключить с помощью конфигурации. См. Параметр rest. handleUnknownPaths в config.json >> Удаленные свойства .

Вот пример, показывающий, как отключить этот флаг в вашем файле server/config.json (обратите внимание, я пропустил любую другую конфигурациювы, возможно, уже в этом файле):

{
  "remoting": {
    "rest": {
      "handleUnknownPaths": false
    }
  }
}

Я добавил загрузочный скрипт для следования нашему кодексу поведения для ответа, поэтому он дает такой тип ответа.

Вы можете установить для errorHandler и rest.handleErrors значение false, чтобы LoopBack не преобразовывал ошибки в ответы HTTP.

Пример server/config.json:

{
  "remoting": {
    "errorHandler": false,
    "rest": {
      "handleErrors": false,
      "handleUnknownPaths": false
    }
  }
}

С помощью этой настройки вы можете редактировать server/middleware.json и заменять промежуточное ПО по умолчанию strong-error-handler на собственную реализацию обработки ошибок (см. Определение промежуточного программного обеспечения >> Путь к функции промежуточного программного обеспечения .

...