tem como criar as rotas do servidor se usar o express? queria entender como ele funciona por trás, como ele cria as rotas
O node possui um módulo “built-in” para tratar HTTP, porém, para tratar requisições REST ficaria mais complicado sendo necessário fazer tudo na mão mesmo (como vc mencionou). Veja algumas fontes:
Node Http Module
https://nodejs.org/api/http.html#http_http
Aqui mostra como usar o HTTP e recuperar query params da URL e outras coisas
https://www.w3schools.com/nodejs/nodejs_http.asp
Diferença entre Node e Express
Nesse último link tem a seguinte explicação:
Web Frameworks
Algumas tarefas comuns no desenvolvimento web não são suportadas diretamente pelo Node. Se você quiser que a sua aplicação possua diferentes verbos HTTP (por exemplo
GET,POST,DELETE, etc), que gerencie requisições de diferentes URLs (“rotas”), apresente arquivos estáticos ou utilize templates para mostrar as respostas (response) de maneira dinâmica, você não terá muita praticidade usando apenas o Node. Você terá duas opções. Escrever o código por conta própria ou então evitar todo esse trabalho de reinventar a roda ao utilizar um framework.