通过Hapi.js创建一个cookie

时间:2017-08-24 01:02:43

标签: javascript node.js hapijs

根据hapi框架文档here和教程here,为了创建cookie,您必须首先在创建服务器后立即调用server.state(...)来配置服务器

我有以下代码

const server = new hapi.Server();

try {
    server.state('session', {
        ttl: 1000 * 60 * 60 * 24,
        encoding: 'base64json'
    })
} catch (err) {
    server.app.cookieError = err
}

导致以下错误:

Error: Cannot add state without a connection

我完全按照文档和其他教程,这个错误不应该发生,我搜索谷歌的错误文本,它会带来零结果!

2 个答案:

答案 0 :(得分:3)

我认为您需要在启动状态之前通过调用server.connection方法来启动服务器。

答案 1 :(得分:2)

尝试这种方式,您需要使用连接配置服务器,然后启动它。

'use strict';

const Hapi = require('hapi');
const server = new Hapi.Server();

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

server.state('session', {
    ttl: 1000 * 60 * 60 * 24,
    encoding: 'base64json'
})

server.start((err) => {
    if (err) {
        throw err;
    }

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