This is a beginner kind of question. I haven't used NodeJS before, so it's a bit confusing to me. I don't see a clear separation between server modules and client modules. It seems like I can use "npm" (Node's package manager) to install both client modules and server modules.
My question is specifically related to this page: http://electron.atom.io/docs/v0.36.8/api/synopsis/
It says that I can use Node modules on client side:
The renderer process is no different than a normal web page, except for the extra ability to use node modules:
<!DOCTYPE html>
<html>
<body>
<script>
const remote = require('electron').remote;
console.log(remote.app.getVersion());
</script>
</body>
</html>
How does this make any sense? Node is running on the server side, how is the browser ("renderer" process as they call it) able to use Node's packages?