【问题标题】:"name" [1]: -- missing -- error, when starting the server in hapi v17.4.0"name" [1]: -- 缺失 -- 错误,在 hapi v17.4.0 中启动服务器时
【发布时间】:2018-05-21 15:26:58
【问题描述】:

我正在开发一个 hapi 应用程序,我想通过向用户发送电子邮件来实现忘记密码的逻辑。为此,我使用插件 hapi-mail 使用 AWS 的 SES 服务发送电子邮件。我收到一个错误:

"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.

这里是定义选项和向服务器注册插件的代码sn-p:

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
}]);

如何解决此错误?还有更好的方法来实现这个想法。除了我正在使用的方法之外,应该用什么方法来处理这个问题?

【问题讨论】:

    标签: email hapijs reset-password


    【解决方案1】:

    您尝试使用的插件适用于旧版本的 Hapi。它需要 package.json 的版本 15。

    您正在使用的 Hapi 版本 17,contains changes 说明如何注册不向后兼容旧版 Hapi 的插件。

    您要么需要找到支持 Hapi 17 的其他邮件插件,要么降级以使用 Hapi 15,但我不推荐后者。

    【讨论】:

    • 您能否提供可替代 hapi-mail 的替代插件的链接??
    猜你喜欢
    • 1970-01-01
    • 2023-03-04
    • 2019-01-18
    • 2022-11-30
    • 2017-02-10
    • 2016-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多