Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot find module 'connect', when attempting to use require('connect').utils.parseCookie with nodejs

I am relatively new to nodejs etc. Anyway I have a program that I am attempting to write that uses a session/authentication system based on this one here: http://iamtherockstar.com/blog/2012/02/14/nodejs-and-socketio-authentication-all-way-down/ Which is heavily based off this one i think (except updated for more recent versions) http://www.danielbaulig.de/socket-ioexpress/

(It utilises Node.js, Express.js, Redis & Sockets.io) Anyway, when I attempt to run my program I get this error:

Error: Cannot find module 'connect' at Function._resolveFilename (module.js:332:11) at Function._load (module.js:279:25) at Module.require (module.js:354:17) at require (module.js:370:17) at Object. (/home/jez/webdir/app1/app.js:62:19) at Module._compile (module.js:441:26) at Object..js (module.js:459:10) at Module.load (module.js:348:31) at Function._load (module.js:308:12) at Array.0 (module.js:479:10)

The line of code this corresponds to is:

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

Now in both tutorials they use this line before calling on the method parseCookie(), however in neither of them do they talk about requireing the 'connect' module, only the express module which is built appon connect I believe. My program works perfectly with express, and will run fine before making the adjustments in the above tutorial.

I get the feeling it may be a recent update to node.js/express/socket.io however the tutorial was only written a few days ago?, Any help with this would be greatly appreciated!

like image 763
Josh Mc Avatar asked Feb 27 '12 10:02

Josh Mc


People also ask

How do I resolve Cannot find module error using node JS?

To fix the Cannot find module error, simply install the missing modules using npm . This will install the project's dependencies into your project so that you can use them. Sometimes, this might still not resolve it for you. In this case, you'll want to just delete your node_modules folder and lock file ( package-lock.

Can not find module node path?

To solve the "Cannot find module path or its corresponding type declarations" error, install the types for node by running the command npm i -D @types/node . You can then import path with the following line of code import * as path from 'path' .

Which core module in node can you use to compile and run JavaScript code in a sandbox environment?

The node:vm module enables compiling and running code within V8 Virtual Machine contexts.

Can not find module index JS?

If you are getting the "Cannot find module" error when trying to run a local file, make sure that the path you passed to the node command points to a file that exists. For example, if you run node src/index. js , make sure that the path src/index. js points to an existing file.


1 Answers

Use cookie module

utils.parseCookies is no longer available. Instead you can use module cookie for this

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

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

like image 145
sreekumar Avatar answered Sep 30 '22 03:09

sreekumar