【问题标题】:Cannot find module 'connect', when attempting to use require('connect').utils.parseCookie with nodejs尝试将 require('connect').utils.parseCookie 与 nodejs 一起使用时找不到模块'connect'
【发布时间】:2012-03-16 20:24:42
【问题描述】:

我对 nodejs 等比较陌生。无论如何,我有一个我正在尝试编写的程序,它使用基于这里的会话/身份验证系统: http://iamtherockstar.com/blog/2012/02/14/nodejs-and-socketio-authentication-all-way-down/ 我认为这在很大程度上基于这个(更新的最新版本除外) http://www.danielbaulig.de/socket-ioexpress/

(它利用 Node.js、Express.js、Redis 和 Sockets.io) 无论如何,当我尝试运行我的程序时,我得到了这个错误:

错误:找不到模块“连接” 在 Function._resolveFilename (module.js:332:11) 在 Function._load (module.js:279:25) 在 Module.require (module.js:354:17) 在需要 (module.js:370:17) 在对象。 (/home/jez/webdir/app1/app.js:62:19) 在 Module._compile (module.js:441:26) 在 Object..js (module.js:459:10) 在 Module.load (module.js:348:31) 在 Function._load (module.js:308:12) 在 Array.0 (module.js:479:10)

这对应的代码行是:

var parseCookie = require('connect').utils.parseCookie;

现在在两个教程中,他们在调用方法 parseCookie() 之前都使用了这一行,但是他们都没有谈到需要“连接”模块,我相信只有在连接上构建的 express 模块。我的程序与 express 完美配合,在上述教程中进行调整之前运行良好。

我感觉这可能是对 node.js/express/socket.io 的最新更新,但是该教程是几天前才写的?,如果有任何帮助,我们将不胜感激!

【问题讨论】:

    标签: session node.js express connect


    【解决方案1】:

    使用cookie模块

    utils.parseCookies 不再可用。相反,您可以为此使用模块 cookie

    var cookie = require('cookie');
    var cookies = cookie.parse('foo=bar; cat=meow; dog=ruff');
    

    https://github.com/shtylman/node-cookie

    【讨论】:

      【解决方案2】:

      虽然 require 可以将 express 的连接安装作为依赖项,但我建议您也安装 connect 以使用 parseCookie 实用程序。因此,只需在您的本地 node_modules 中安装连接即可!

      【讨论】:

      • 我想知道是不是这么简单,但是我对添加更多依赖项非常谨慎,因为我已经有大约 5-6 个并且我几乎没有开始我的项目。感谢您的快速回复,我回家后会试试这个。
      • 虽然我理解您的担忧,但 connect 已经是 express 的依赖项,因此无需担心。我尽量确保我的版本与 express 相同。
      猜你喜欢
      • 2016-03-15
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-28
      • 2014-04-08
      相关资源
      最近更新 更多