public/api/customers вместо JSON'а, приходит html-ка с документом.
res.json() заменить на res.text(), что бы не пытаться распарсить пришедший ответ, а посмотреть, что пришло в чистом виде через console.log
fetch('/api/customers')
.then(res => res.json()) //Парсится json из ответа
.then(data => {
console.log(data); //Обработка пришедших данных
})
.catch(err => console.error(err));