【问题标题】:RedisStore - TypeError: Cannot read property 'prototype' of undefinedRedisStore - TypeError:无法读取未定义的属性“原型”
【发布时间】:2014-09-01 15:27:12
【问题描述】:

当我运行应用程序时,我会收到该消息。 我正在尝试按照here

中描述的说明进行操作

这是我的 app.js 文件的一部分

var express = require('express');
var RedisStore = require('connect-redis')(express); 
var redisStore = new RedisStore(); // setup redis
var flash = require('connect-flash');
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
var routes  = require('./routes')

【问题讨论】:

  • 有些东西是未定义的,即显式调用.prototype...。仔细检查所有模块是否已安装,然后在您的代码中搜索“原型”(因为这些其他软件包可能没有这个问题......)

标签: node.js express


【解决方案1】:

如果你想使用 Express 4.x

改变

var express = require('express');
var RedisStore = require('connect-redis')(express);

var session = require('express-session')
var RedisStore = require('connect-redis')(session);

还要记得安装express-session

npm install express-session --save

如果您打算使用 Express 3.x,请选择兼容版本 1.4.7 的 connect-redis 以避免错误。

 npm install connect-redis@1.4.7 --save

要了解有关将 Express 3 迁移到版本 4 的更多信息:

【讨论】:

  • 对于任何使用 Jim R. Wilson 的“Node.js The Right Way”并在第 8 章中运行 server.js 时遇到问题的人,那么这将对您有所帮助,因为它对我有所帮助! :)
猜你喜欢
  • 2021-08-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-05
  • 2020-05-11
  • 2021-10-31
  • 2020-05-15
  • 2019-09-24
  • 2021-11-20
相关资源
最近更新 更多