Node.js 客户端会话nodejs/Express-错误:无法设置属性';mydata';未定义的

Node.js 客户端会话nodejs/Express-错误:无法设置属性';mydata';未定义的,node.js,session,express,Node.js,Session,Express,我试图在nodejs/Express中使用客户端会话中间件,但出现以下错误:无法设置未定义的属性“mydata”。 我也看过这篇文章,但是没有找到更多的线索来解释我为什么会出错 var-bodyParser=require('body-parser'); const express=require('express'); 常量app=express(); const clientSessions=require(“客户端会话”); var urlencodedParser=bodyParser.

我试图在nodejs/Express中使用客户端会话中间件,但出现以下错误:
无法设置未定义的属性“mydata”。

我也看过这篇文章,但是没有找到更多的线索来解释我为什么会出错

var-bodyParser=require('body-parser');
const express=require('express');
常量app=express();
const clientSessions=require(“客户端会话”);
var urlencodedParser=bodyParser.urlencoded({extended:false});
var router=express.router();
应用程序使用(客户端会话)({
cookieName:'mydata',//cookie name指定添加到请求对象的密钥名
秘密:“longsecretkeyorwhatever”,//应该是一个大的不可用字符串
持续时间:24*60*60*1000,//会话将持续多长时间(毫秒)
activeDuration:1000*60*5//如果expiresIn
的文档说明:

cookie名称指示添加到请求对象的密钥名称

由于将
firstName
设置为cookie名称,因此会话对象可用作
req.firstName

req.firstName.mydata = req.body.mydata

很抱歉,这是我的原始代码的复制/粘贴错误。即使cookieName正确,我仍然会收到错误。您更改了cookie名称,但未使用正确的会话变量名称。它应该是
req.mydata
,而不是
req.session\u state
。感谢您帮助我完成这项工作,它现在有意义了。我原来的错误现在消失了。我现在需要从另一个route js文件读取cookie数据,但我的数据不可用,它未定义。有什么诀窍吗?我在第二个脚本上再次尝试了应用程序和客户端会话,但这不起作用。在声明任何路由器之前,您应该在主应用程序上只声明一次
客户端会话
中间件。我已尝试将客户端会话设为全局会话。我现在得到:无法将客户端会话设置为非对象。下面是查看app.js和index.js代码的链接
req.firstName.mydata = req.body.mydata