I use angular in the forntend so I don´t share any code with my NodeJS Express backend. I also use Microservices and because all have there own Database. For some Databases I wanted some extra Methods that wrapp around the actual NodeJS wrapper, I wrote a libary which I use in my microservices, so that they all use the same "wrapper of a wrapper". Thats the only code I "share".
When I need to communicate from the Frontend with a service (only api-service with routes to other services) I use a REST API. For communication between services I also use REST API´s but currently I add async routes like AMQP and MQTT which will be priamry and prefered, only in special cases or when RabbitMQ is down the REST API is used.