【问题标题】:nodejs express-session middleware is not working in visual studionodejs express-session 中间件在 Visual Studio 中不起作用
【发布时间】:2019-09-28 15:30:36
【问题描述】:

我正在尝试在 nodejs express 中使用 express-session,但我无法设置或获取会话。我在尝试构建时收到“类型‘请求’上不存在属性‘会话’”。

我试图更改代码的顺序,但没有任何效果

节点版本:v10.15.3

视觉工作室:2017

我的依赖

 "dependencies": {
    "axios": "^0.19.0",
    "body-parser": "^1.19.0",
    "cookie-parser": "^1.4.4",
    "debug": "^2.2.0",
    "express": "^4.14.0",
    "express-session": "^1.16.2",
    "pug": "^2.0.0-rc.3",
    "session-file-store": "^1.3.0"
  },
  "devDependencies": {
    "@types/debug": "0.0.30",
    "@types/express": "^4.0.37",
    "@types/express-serve-static-core": "^4.0.50",
    "@types/mime": "^1.3.1",
    "@types/serve-static": "^1.7.32",
    "@types/node": "^6.0.87"
  }

app.ts

  var app = express();
  var bodyParser = require('body-parser');
  var session = require('express-session');
  var FileStore = require('session-file-store')(session);

  app.use(bodyParser.urlencoded({extended: true})); 
  app.use(bodyParser.json());       // to support JSON-encoded bodies
  app.use(express.json());       // to support JSON-encoded bodies
  app.use(express.urlencoded({ extended: true })); // to support URL-encoded   bodies
  app.use(session({
      name: 'test-session-cookie-id',
      secret: 'test',
      resave: true,
      store: new FileStore(),
      saveUninitialized: true,
      cookie: { secure: true }
  }));
  // view engine setup
  app.set('views', path.join(__dirname, 'views'));
  app.set('view engine', 'pug');

  app.use(express.static(path.join(__dirname, 'public')));


  app.use('/', routes);
  app.use('/users', users);
  app.use('/signup', signup);
  app.use('/verify', verify);

  app.use(function printSession(req, res, next) {
    console.log('req.session', req.session); //error
    return next();
  });

更新:

module 本身似乎工作正常。它创建了一个包含 500 多个文件的会话文件夹,这很奇怪

更新2:

快速会话工作正常,但错误困扰着我。我卸载了vs2017并安装了vs2019并更新了打字稿但问题仍然存在

【问题讨论】:

  • 您使用的是什么构建工具?看起来你的 linter/compiler 不知道你用来扩展 express 的库。
  • @JakeHolzinger 我正在使用 Visual Studio 2017

标签: node.js express visual-studio-2017 express-session


【解决方案1】:

我的 dependencies/devDependencies 中没有 @types/express-sessionnpm install --save @types/express-session 完成了这项工作。现在没有错误

【讨论】:

    猜你喜欢
    • 2013-03-13
    • 1970-01-01
    • 2017-04-10
    • 2017-01-11
    • 2016-07-30
    • 1970-01-01
    • 1970-01-01
    • 2021-04-22
    • 1970-01-01
    相关资源
    最近更新 更多