- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在做一个个人项目,最近包括 express-session 和 cookie-session。虽然我在导航到 localhost:3000/时遇到问题,但我收到一条错误消息,告诉我 req.session.touch 不是 express-session 模块中的函数。您可以在下面找到代码片段:
const express = require('express');
const bodyParser = require('body-parser');
const _ = require('lodash');
const passport = require('passport')
const LocalStrategy = require('passport-local')
const cookieParser = require('cookie-parser');
const session = require('express-session')
let cookieSession = require('cookie-session')
const pug = require('pug');
require('./db/mongoose');
const mongoose = require('mongoose');
const Todo = mongoose.model('Todo');
const User = mongoose.model('User');
let app = express();
const ObjectID = require('valid-objectid');
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json());
//Use session
app.use(session({ secret: 'secretomitted', cookie: { maxAge: 0 } }))
//Set cookie session
app.use(cookieParser())
app.use(cookieSession({ name: 'session', secret: 'secretomitted', maxAge: 0 }))
//Set views folder and view engine
app.set('views', './views');
app.set('view engine', 'pug');
passport.use(new LocalStrategy(
function (email, password, done) {
User.findOne({ 'email': email }, function (err, user) {
if (err) { return done(err); }
if (!user) {
return done(null, false, console.log('Wrong username'));
}
if (!user.validatePassword(password)) {
return done(null, false, console.log('Wrong Password'));
}
return done(null, user);
});
}
));
//FE Requests
app.get('/', (req, res) => {
res.send(pug.renderFile('index.pug'))
console.log('index rendered')
})
这是我得到的错误:
[nodemon] 1.18.9
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node server/server.js`
express-session deprecated undefined resave option; provide resave option server/server.js:24:9
express-session deprecated undefined saveUninitialized option; provide saveUninitialized option server/server.js:24:9
Started on port 3000
/Users/alessandrocamplese/Desktop/Projects/Mongo-tasker/mongo-tasker/node_modules/express-session/index.js:326
req.session.touch()
^
TypeError: req.session.touch is not a function
at ServerResponse.end (/Users/alessandrocamplese/Desktop/Projects/Mongo-tasker/mongo-tasker/node_modules/express-session/index.js:326:21)
at Array.write (/Users/alessandrocamplese/Desktop/Projects/Mongo-tasker/mongo-tasker/node_modules/finalhandler/index.js:297:9)
at listener (/Users/alessandrocamplese/Desktop/Projects/Mongo-tasker/mongo-tasker/node_modules/on-finished/index.js:169:15)
at onFinish (/Users/alessandrocamplese/Desktop/Projects/Mongo-tasker/mongo-tasker/node_modules/on-finished/index.js:100:5)
at callback (/Users/alessandrocamplese/Desktop/Projects/Mongo-tasker/mongo-tasker/node_modules/ee-first/index.js:55:10)
at IncomingMessage.onevent (/Users/alessandrocamplese/Desktop/Projects/Mongo-tasker/mongo-tasker/node_modules/ee-first/index.js:93:5)
at IncomingMessage.emit (events.js:197:13)
at endReadableNT (_stream_readable.js:1129:12)
at processTicksAndRejections (internal/process/next_tick.js:76:17)
[nodemon] app crashed - waiting for file changes before starting...
有什么解决办法吗?谢谢。
最佳答案
老问题,但我有同样的问题,所以对于任何其他试图完成同样事情的人:)。我认为问题是来自不同 session 对象的某种冲突:
//Use session
app.use(session({ secret: 'secretomitted', cookie: { maxAge: 0 } }))
//Set cookie session
app.use(cookieParser())
app.use(cookieSession({ name: 'session', secret: 'secretomitted', maxAge: 0 }))
这是使用 express-session 和 cookie-session。这是来自 expressjs.com 的引述:
A user session can be stored in two main ways with cookies: on the server or on the client. [cookie-session] stores the session data on the client within a cookie, while a module like express-session stores only a session identifier on the client within a cookie and stores the session data on the server, typically in a database.
如前所述,express-session只在cookie中存储一个ID,而cookie-session将所有session数据都存储在cookie中。这very short blog post解释了弄乱 session 数据将如何导致您的错误。这两种 session 存储方式不可避免地会造成这样的冲突,因为它们试图将数据存储在不同的地方。
关于javascript - express-session req.session.touch 不是函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56046527/
我对这个话题有点怀疑。 情况: 我进行了一项研究,其中指出 Sencha Touch 2 (further Sencha) 和 DHTMLX Touch (further DHTMLX) 是可供选择的
我的移动应用程序目前在 Sencha Touch 1.1.1 下运行。现在,我想将其升级到 Sencha Touch 2.0。有人可以帮我做这件事吗?升级时我应该注意哪些一般步骤? 另外,是否有帮助该
在他们的文档中找不到指定了所有日期时间格式的位置? 我想要一个日期看起来像这样 13 Jan 2013 我发现了这个模式: date("F j, Y") 但这给了我很长的月份名称。 (不知道为什么他们
我需要一个简单的嵌套 ListView 示例。沿着这条线的东西...... (来源:roosteronacid.com) 当您单击一个项目时,您将转换(滑动)到包含另一个列表的下一个 View /卡片
scons 使用 MD5 哈希值而不是文件修改时间来确定是否需要构建依赖项。 我希望这是默认行为。但是,除了编辑文件以使其不同之外,是否有任何方法可以强制它假设特定文件已过期(相当于“触摸”)? 编辑
我有一个 sencha touch 显示在列表中的联系人列表。然后,当您单击列表中的姓名时,它应该向右滑动并说您好 {联系人姓名}!但是当它现在滑过时,它只是说你好!第 29 行是项目点击的 Acti
我是一名 Ext 老手,但我需要创建一些相当简单的移动应用程序,自然而然我正在研究 sencha touch。 Ting 是 - 大多数示例无法在 Firefox/Opera 中运行。 我很高兴使用
只是想知道在 Sencha Touch 中是否有处理该问题的方法。一个商店,应用不同的过滤器后,商店可以用于不同的地方。 例如: 我有一家商店: Ext.regModel('abc', { f
如何覆盖浏览器后退按钮的功能?我在页面中有导航 View ,我想同步浏览器后退按钮和导航 View 的后退按钮。我可以覆盖导航按钮的功能,但我不知道如何为浏览器返回做同样的事情。 我们将不胜感激。 最
如何使用两个 Action 创建 UIButton。 我知道通过使用 UILongPressGestureRecognizer 我们可以执行 Longpress。 但我的要求是,当我长按 UIButt
如何在 Ext.panel 中动态添加新项目?这是我正在使用的代码; app.views.ViewItem = Ext.extend(Ext.Panel, { id: '0', doc
我有一个全屏按钮(我将其放置在 IB 中),其中包含一个图像,当用户单击它时,我希望将其滑出屏幕。我知道连接正常,因为单击按钮时我可以记录一些内容。但是我之前用来移动 UIViews 和 UIImag
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be
大家好,我目前正在为 iPhone 开发一款节奏游戏,只是想知道是否有人对用于 react 时间的最佳作品有任何想法。 我已经完成了所有编码,并将其范围缩小到大约 2 种方式: 1:使用绕过 UICo
我正在尝试使用XCode编码计算器,但是后来我看到带有逗号的数字只是在逗号后被切掉了。 我正在用文本代码获取带有此代码的数字。 -(IBAction)Additionbutton:(id)sender
Sencha Touch 中是否有控件可以显示如下图所示的密码字段? 最佳答案 不,没有本地组件可以做到这一点。但是您可以自己构建它:它是一个包含 4 个输入字段和十几个按钮的表单。有关详细信息,请参
出于某种原因,我的表单面板没有显示。谁能帮忙?如果这很明显,我是新手,很抱歉!它是用 Sencha Architect 构建的,但我不明白为什么没有字段显示在表单中?... Ext.define('M
我创建了一个基于表格的模板,因此我可以获得类似网格的感觉。我的问题是,当我单击表格行时,如何弹出警报(带有 td 信息)。 这是我的 getUserList.js 文件 Ext.regMode
他们无论如何要更改圆形矩形按钮的白色部分而不制作自定义按钮吗? 最佳答案 嗯,差不多。您必须将其设置为自定义但不继承 UIButton。那么你应该能够做类似的事情 myButton.layer.cor
有人可以给我指点 Sencha Touch 和 Javascript 的初学者教程吗?我对 HTML 和 Javascript & CSS 知之甚少。我需要学习高级 Javascript 和指南针/主
我是一名优秀的程序员,十分优秀!