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!
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.
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' .
The node:vm module enables compiling and running code within V8 Virtual Machine contexts.
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.
cookie
moduleutils.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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With