1.express-session使用时 req.session undefined
本人在做session 储存时 一直报错 req.session undefined 一脸懵逼,最后查阅发现
app.use(session({
secret: 'xikun', //值可以随便取
resave: false,
saveUninitialized: true, //是否保存未初始化的会话
cookie: {
maxAge: 1000 * 60 * 30
}
}))
该代码必须在路由设置前面,不然就会报错。
2.Node.s里面使用 Redis 连接成功,但是在操作时 报 NOAUTH Authentication required
错误的含义就是你没有认证,说明没有使用密码链接
查看密码
进去redis 安装目录
vi redis.config
打开 配置文件 输入/#requirepass 回车
如图就是 你的密码 替换上便可正常操作
3.Can't set headers after they are sent
nodejs+express中出现这个错误都在路由里,大部分是程序运行了res.xxx之后,后面还有和请求,响应相关的操作造成的.
主要是程序运行的先后顺序没理解透,也就是nodejs的一大特性 : 异步.初学者特别要注意.
-- 理解到了nodejs程序运行的先后顺序,这个问题就迎刃而解.
-- 还有就是res.xxx操作之后最好不要再有代码,就算是打印输出的代码也写在res.xxx之前,
-- 另外,nodejs程序就算res.xxx响应以后,程序还会继续执行,return下更好.
Node.js每次编写代码后都要进行重启才可生效,这对开发来说太不方便,怎么才可以做到自动化编译呢。
网上介绍了很多种方法,这里作者介绍一种自己认为很简单的方法:
全局安装npm install -g supervisor
修改package.json启动方式 把"start": "node ./bin/www" 修改成 "start": "supervisor ./bin/www" 这样就可以实时编译了。
本人也在学习Node.js过程中,遇到坑会慢慢积累,分享。
网友评论