node.js è un framework nato per far girare js lato server.
con questo framework puoi anche interrogare database, creare file sul server e via dicendo, senza bisogno di linguaggi come asp, php, java,......

express è un framework per node.js che sostanzialmente aggiunge funzionalità e semplifica lo sviluppo di attività di base.

angular.js invece è un framework a se stante.
non rientra in maniera diretta con il mondo node.js.

io come libro mi sono letto questo: http://www.apogeonline.com/libri/9788850316670/scheda

lo trovo sicuramente un argomento interessante, ma personalmente faccio fatica a staccarmi dal classico modo di sviluppare applicazioni web (principalmente con php e java sostanzialmente).