Reputation: 48238
I upgraded socket.io from 0.9.16 to 1.0.6, and used to output the version like this:
var io = require('socket.io');
console.log("**Socket.IO Version: "+io.version);
and would give me
**Socket.IO Version: 0.9.16
after I updated to 1.0.6, I get:
**Socket.IO Version: undefined
any help? Thanks!
Upvotes: 3
Views: 2832
Reputation: 23287
You can do it this way:
console.log("**Socket.IO Version: " + require('socket.io/package').version);
The idea is to load package.json
file, which contains information about a Node package.
This is possible because Node's require
is able to load JSON modules as well.
From the docs:
If the exact filename is not found, then node will attempt to load the required filename with the added extension of
.js
,.json
, and then.node
..js
files are interpreted as JavaScript text files, and.json
files are parsed as JSON text files [...]
Upvotes: 3