首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >hapijs -插件完成注册之前不能启动服务器

hapijs -插件完成注册之前不能启动服务器
EN

Stack Overflow用户
提问于 2018-06-25 13:28:32
回答 1查看 1.2K关注 0票数 3

所以我有Hapi (v17.5.1),当我有插件数组时

代码语言:javascript
运行
复制
[
 {
  plugin: good,
  options: {
    reporters: {
      errorReporter: [
        {
          module: 'good-squeeze',
          name: 'Squeeze',
          args: [{ error: '*' }],
        }, {
          module: 'good-console',
        },
        'stderr',
      ],
      infoReporter: [
        {
          module: 'good-squeeze',
          name: 'Squeeze',
          args: [{ log: '*', response: '*' }],
        }, {
          module: 'good-console',
        },
        'stdout',
      ],
    },
  }
]

让我们将其保存在下一个示例的变量goodPlugin中。

也就是说,只有好的插件和它的工作很好,但当我去尝试添加惰性,视觉或Hapi,它打破了给错误Cannot start server before plugins finished registration

举个例子:

代码语言:javascript
运行
复制
const HapiSwagger = require('hapi-swagger');
const Inert = require('inert');
const Vision = require('vision');
const Pack = require('../package');
module.exports = [
    Inert,
    Vision,
    // goodPlugin,
    {
        plugin: HapiSwagger,
        options: {
            info: {
              title: Pack.description,
              version: Pack.version,
            },
          },
        }
    ];

我哪里出问题了?我甚至只在开发模式打开时尝试添加这个选项,但是它给了我同样的错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-26 14:13:35

注册插件时是否使用await?按照文档的建议,插件注册部分应该如下所示:

代码语言:javascript
运行
复制
const init = async () => {

    await server.register({
        plugin: require('hapi-pino')
    });

    await server.start();
    console.log(`Server running at: ${server.info.uri}`);
};

init();
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51024666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档