node.js开发错误——TypeError: Cannot set property 'XXX' of undefined
来源:互联网 发布:童谣 知乎 编辑:程序博客网 时间:2024/05/15 01:36
在设置express-session时出现该错误。
原因:中间件app.use(session());放的位置不对。
要把session设置的中间件放在路由控制器之前。
正确位置:
var express = require('express');var path = require('path');var favicon = require('serve-favicon');var logger = require('morgan');var cookieParser = require('cookie-parser');var bodyParser = require('body-parser');var ejs = require('ejs');var session = require('express-session');var MongoStore = require('connect-mongo')(session);var flash = require('connect-flash');var routes = require('./routes/index');var settings = require('./settings');var app = express();// view engine setupapp.set('views', path.join(__dirname, 'views'));app.engine('html',ejs.__express);app.set('view engine', 'html');// uncomment after placing your favicon in /public//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));app.use(logger('dev'));app.use(bodyParser.json());app.use(bodyParser.urlencoded({ extended: false }));app.use(cookieParser());app.use(express.static(path.join(__dirname, 'public')));//sessionapp.use(session({ secret:settings.cookieSecret, //用来防止篡改cookie key:settings.db, //cookie的名字 cookie:{maxAge:1000*60*60*24*30}, //30天 store: new MongoStore({ db:settings.db, host:settings.host, port:settings.port, url: 'mongodb://localhost/blog' }), resave:true, saveUninitialized:false}));//flashapp.use(flash());//设置flashapp.use(function(req, res, next){ res.locals.error = req.flash('error') || ""; res.locals.success = req.flash('success') || ""; next();});routes(app);// catch 404 and forward to error handlerapp.use(function(req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err);});// error handlerapp.use(function(err, req, res, next) { // set locals, only providing error in development res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : {}; // render the error page res.status(err.status || 500); res.render('error');});module.exports = app;
0 0
- node.js开发错误——TypeError: Cannot set property 'XXX' of undefined
- qml TypeError: Cannot read property 'xxx' of undefined 错误处理
- background.js Uncaught TypeError: Cannot read property 'xxx' of undefined
- JS —— Uncaught TypeError: Cannot read property 'slice' of undefined 错误
- TypeError: Cannot set property 'user' of undefined
- TS/JS错误:TypeError: Cannot read property 'prototype' of undefined
- jquery.mobile-1.4.5.min.js:3 Uncaught TypeError: Cannot set property 'mobile' of undefined
- Uncaught TypeError: Cannot set property 'applyDefaults' of undefined
- Uncaught TypeError: Cannot set property 'mobile' of undefined
- Hexo: TypeError: Cannot set property 'lastIndex' of undefined
- js Cannot set property 'color' of undefined
- JS点击事件——Uncaught TypeError: Cannot set property 'onclick' of null
- Uncaught TypeError: Cannot read property 'options' of undefined 错误
- 错误:Uncaught TypeError: Cannot read property 'WebSocket' of undefined
- NodeJs错误:TypeError: Cannot read property 'path' of undefined
- "TypeError: Cannot read property 'undefined' of undefined"
- vue.js中报错: TypeError: Cannot read property 'indexOf' of undefined
- Uncaught TypeError: Cannot set property ' ' of null 错误解决
- Android Studio 一起走过的那些坑
- 算法学习-零子数组,最大连续子数组
- 动态的设置cavas的宽高
- Android项目重构之路:实现篇
- 最大连续子序列 hdu1231
- node.js开发错误——TypeError: Cannot set property 'XXX' of undefined
- ural 1149
- HDMI的CEC功能
- 互助社交解决了什么?
- php 资源类型 fclose
- 使用Oracle trunc 来指定精确的年月日时分秒
- 图像处理中掩膜(mask)的意义
- [TCP]/[IP]/[Http]的概念和区别
- java获取昨天的日期