【问题标题】:Express problematic middleware - cookies access and memory leakExpress 有问题的中间件 - cookie 访问和内存泄漏
【发布时间】:2015-09-29 15:00:38
【问题描述】:

我将 express 与 cookieParser() 一起使用。我的客户有以下 cookie:App.Debug.SourceMaps.
我写了以下中间件:

app.get('/embed/*/scripts/bundle-*.js', function(req, res, next) {
    if (req.cookies['App.Debug.SourceMaps'] === 'true') {
        var newUrl = req.url.replace(/(bundle-.*\.js)$/g, 'bundle.js');
        res.redirect(newUrl);
    } else {
        next();
    }
});

两个问题:

  1. 我能否正确访问“App.Debug.SourceMaps”?我知道我应该像这样访问 cookie:req.cookies.name,但我的 cookie 名称包含 '.'
  2. 添加此中间件后,我遇到了严重的性能问题。我的 CPU 达到 100% 并且我有内存泄漏。知道为什么吗?

【问题讨论】:

    标签: javascript node.js cookies express middleware


    【解决方案1】:
    1. 是的,括号表示法是完全可以接受的,事实上,它更常用于访问 cookie。
    2. 您的代码没有什么特别的问题,这完全取决于重定向之后发生的情况。

    【讨论】:

      猜你喜欢
      • 2012-12-19
      • 2016-07-28
      相关资源
      最近更新 更多