"имя" [1]: - отсутствует - ошибка при запуске сервера в hapi v17.4.0 - PullRequest
0 голосов
/ 21 мая 2018

Я работаю над приложением хапи и хочу реализовать логику забытого пароля, отправив пользователю электронное письмо.Для этого я использую плагин hapi-mail для отправки электронной почты, используя сервис SES AWS.Я получаю сообщение об ошибке:

"name" [1]: -- missing --
  },
  "options": {
    "template": {
      "engine": "handlebars",
      "path": "./templates/"
    },
    "email": {
      "engine": "ses",
      "options": {
        "region": "eu-west-1"
      },
      "defaultFrom": "abc@gmail.com"
    }
  }
}

[1] "name" is required
    at new AssertionError (internal/errors.js:469:11)
    at Object.exports.assert (/home/Utkarsh_Jaiswal/Documents/node-hapi-app/node-hapi-app/node_modules/hoek/lib/index.js:736:11)
    at Object.exports.apply (/home/Utkarsh_Jaiswal/Documents/node-hapi-app/node-hapi-app/node_modules/hapi/lib/config.js:22:10)
    at internals.Server.register (/home/Utkarsh_Jaiswal/Documents/node-hapi-app/node-hapi-app/node_modules/hapi/lib/server.js:392:31)
    at process._tickCallback (internal/process/next_tick.js:68:7)
    at Function.Module.runMain (internal/modules/cjs/loader.js:721:11)
    at startup (internal/bootstrap/node.js:228:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:576:3)
(node:8069) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:8069) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that arenot handled will terminate the Node.js process with a non-zero exit code.

Ниже приведен фрагмент кода для определения параметров и регистрации подключаемого модуля на сервере:

const options = { 
    template: {
        engine: 'handlebars',
        path: './templates/' 
    },
    email: {
        engine: 'ses',
        options: { accessKeyId: access_key, secretAccessKey: secret_key, region: 'eu-west-1' },
        defaultFrom: 'abc@gmail.com'
    }
  };

await server.register([{
plugin: require('hapi-mail'),
options: options
}]);

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

1 Ответ

0 голосов
/ 23 мая 2018

Плагин, который вы пытаетесь использовать, предназначен для более старой версии Hapi.Требуется версия 15, идущая по package.json.

Используемая вами версия 17 Hapi, содержит изменения в том, как регистрируются плагины, которые не имеют обратной совместимости со старой версией Hapi.

Вам либо нужночтобы найти другой почтовый плагин, который поддерживает Hapi 17 или более раннюю версию для использования Hapi 15, однако я бы не рекомендовал последний.

...