Не существует стандартного способа отправки смешанного JSON + содержимого файла с использованием только метода sendFile()
. В качестве обходного пути вы можете отправить данные JSON в качестве настраиваемого заголовка ответа:
const options = {
headers: {
'Access-Control-Expose-Headers': 'User',
'User': JSON.stringify(req.user),
}
};
res.sendFile(path.join(__dirname, '../assets', 'index.html'), options);
Обратите внимание, что требуется заголовок Access-Control-Expose-Headers
, чтобы ваш клиент всегда имел доступ к дополнительным header.
Затем, при условии, что вы используете axios
на внешнем интерфейсе:
axios.get(YOUR_URL, response => {
const user = JSON.parse(response.headers['User']);
console.log('User Object', user);
});
С fetch
:
response.headers.get('User');