Почему нельзя, просто, выделить
common часть для обоих модулей?
А в модель поста можно прописать метод который будет доставать и мапить результаты.
Тогда у вас будет примерно такой код в
rest:
router.get('/', routeCache.cacheSeconds(20), async (req, res) => {
const posts = await models.Post.getPostsList({ limit: 10 });
res.json(posts);
});
и такой для
сайта:
router.get('/', async (req, res) => {
const posts = await models.Post.getPostsList({ limit: 10 });
res.render('index', { posts_list: posts });
});
Все просто и никаких костылей.
Обращения сервера сайта к
rest это лишний код и лишние операции.
Метод
res.json() сам добавляет к ответу заголовок
Content-Type со значением
'application/json' если он не добавлен до этого.