Переменные конфигурации не разрешаются в middleware.json в Loopback 3 - PullRequest
1 голос
/ 17 апреля 2019

Я не могу получить переменную restApiRoot для разрешения при использовании ее в middleware.json. Я использую Loopback 3. Вот мои настройки:

config.json

{
  "restApiRoot": "/api"
}

middleware.json

  "auth": {
    "./middleware/order-auth": {
      "paths": [
        "${restApiRoot}/Orders"
      ]
    }
  },

Если я заменим ${restApiRoot} на /api, то это сработает. Я обнаружил эту проблему , которая звучит идентично, но их решение было обновить loopback и loopback-boot еще в 2016 году, и мои версии намного выше этого. Мой middleware.json соответствует моей версии (3) документации.

1 Ответ

1 голос
/ 18 апреля 2019

Я считаю, что loopback-boot выполняет подстановку переменных только тогда, когда } является последним символом. См. Исходный код в lib / plugin-base.js (loopback-boot version 3.x):

var DYNAMIC_CONFIG_PARAM = /\$\{(\w+)\}$/;
function getConfigVariable(app, param, useEnvVars) {
  var configVariable = param;
  var match = configVariable.match(DYNAMIC_CONFIG_PARAM);
  // etc.
...