I can understand your confusion. First of all, what is important to know, is that Node is the Software that is running your code. NPM is a package manager, which ships together when installing Node.
As different projects require their specific Node Version, I like using NVM - the Node Version Manager.
The node_modules Directory in your Home Folder exists because you probably have executed the npm install command inside your Home folder. It has created the node_modules Directory and downloaded the packages in there. It is a good practice to keep your HOME Directory as clean as possible, and there is no reason to keep the node_modules Folder there.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…