Проблема только в порядке ваших маршрутов. Первый указанный вами путь:
app.use('/',(req,res,next) => {
res.sendFile(path.join(__dirname,'public','index.html'));
});
действует как универсальный, так как каждый путь на сервере включает в себя '/'
Если вы измените порядок и сделаете универсальный наконец, это должно работать для вас нормально.
app.get('/api', (req, res) => {
console.log(req);
})
app.use('/',(req,res,next) => {
res.sendFile(path.join(__dirname,'public','index.html'));
});