【问题标题】:How to run Gun server with Hapi?如何使用 Hapi 运行 Gun 服务器?
【发布时间】:2017-09-19 09:59:24
【问题描述】:

我按照this 教程创建 Gun 服务器。但我需要用Hapi 来做。

现在,我收到以下错误:

> node server.js

Hello wonderful person! :) Thanks for using GUN, feel free to ask for help on https://gitter.im/amark/gun and ask StackOverflow questions tagged with 'gun'!
0.8 WARNING! Breaking changes, test that your app works before upgrading! The adapter interface has been upgraded (non-default storage and transport layers probably won't work). Also, `.path()` and `.not()` are outside core and now in 'lib/'.
WARNING! This `file.js` module for gun is intended for local development testing only!
/home/trex/dev/learn/gun/server/server.js:17
gun.wsp(server);
    ^

TypeError: gun.wsp is not a function
    at Object.<anonymous> (/home/trex/dev/learn/gun/server/server.js:17:5)

服务器源代码:

const Hapi = require('hapi');
const Gun = require('gun');

const gun = new Gun();
const server = new Hapi.Server();

server.connection({ port: 3000, host: 'localhost' });

server.ext('onRequest', () => gun.wsp.server);

gun.wsp(server);

server.start((err) => {

    if (err) {
        throw err;
    }
    console.log(`Server running at: ${server.info.uri}`);
});

这里有什么问题?

【问题讨论】:

    标签: gun


    【解决方案1】:

    gun 0.8.8 https://github.com/amark/gun/pull/423 中解决的错误

    const Hapi  = require('hapi');
    const Inert = require('inert');
    const Gun   = require('../gun/');
    
    const server = new Hapi.Server;
    server.connection({ port: 8080 });
    server.connections.forEach(c => Gun({ web: c.listener, file: 'data.json' }));
    
    server.register(Inert, () => {});
    
    server.route({
      method: 'GET',
      path: '/{param*}',
      handler: {
        directory: {
          path: __dirname,
          redirectToSlash: true,
          index: true
        }
      }
    });
    
    server.start();
    

    【讨论】:

    • 您是否仍然遇到 nodejs-to-nodejs 同步问题?如果两个服务器都订阅了他们想要同步的数据,它应该可以工作。告诉我!
    • @marknadal 不,我没有问题,这个错误在gun 0.8.8中解决了
    猜你喜欢
    • 1970-01-01
    • 2016-12-30
    • 2015-10-12
    • 1970-01-01
    • 2019-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-06
    相关资源
    最近更新 更多