I learned Node.JS just for fun a few years ago. What I did to learn it was what I did for every language and framework: I just used it. All you need is a project. Something you want to create. And then you google whatever you need.
The first big hurdle: I was a PHP developer before, so I first had to realize that Node.JS works fundamentally different. When you make a homepage with Node.JS it's not really a website, but more like an application itself.
The first big moment was when I finished porting my big web application framework from PHP to Node.JS
My second big hurdle: Requiring all files at the top of a script might lead to circular dependencies (which is not bad) which end in script not being executed in some files. I solved it by writing a module loader (which is FOSS and on NPM by the way).
My second big moment was when I realized that I can use Electron and NW.JS to make desktop apps, Cordova to make mobile apps and that there are even people making whole operating systems just with node.JS (well... except for the HAL and webkit maybe). Node.JS is awesome!
My third big hurdle: Struckturing Node.JS applications with thousands lines of code and many different modules (not Node.JS modules). I overcame this problem by taking ideas from C++ and TypeScript and mixing in my own ideas, ultimately separating the interface from the code and having every single method (together with its helper functions) in its own file each.