通过 Hapi.js 创建 cookie

Create a cookie via Hapi.js

根据 hapi 框架文档 here, and tutorial 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

我完全按照文档和其他教程进行操作,这个错误应该不会发生,我已经搜索了 google 错误文本,结果为零!

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

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

'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}`);
})