簡體   English   中英

hapijs-在插件完成注冊之前無法啟動服務器

[英]hapijs - Cannot start server before plugins finished registration

所以我有Hapi(v17.5.1),當我的插件數組為

[
 {
  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中。

也就是說,只有使用優質的插件,它才能正常工作,但是當我嘗試添加Inert,Vision或Hapi-Swagger時,它會打斷錯誤,提示Cannot start server before plugins finished registration

一個例子:

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

我要去哪里錯了? 我什至只在開發模式打開時才嘗試添加它,但是它給了我同樣的錯誤。

注冊插件時是否使用await 根據每個文檔的建議,插件注冊部分應如下所示:

const init = async () => {

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

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

init();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM