Как отобразить список без движка рендеринга в javascript?

Нет движка рендеринга, нет фреймворка, кроме экспресса.

Мы хотим отобразить любой список из запроса к базе данных без помощи механизма рендеринга.

Что такое голый код, эквивалентный механизму рендеринга для списков данных?

Это пример с мопсом, затем с html:

app.js


collection.query(q, function(err, docs) {
    if (err) {
        res.status(500).send({
            error: err
        });
        return;
    }

    console.info("Got docs: ",docs);

    res.render('layout', {
        data : docs
    });

});

HTML

<ul type = "1">
  <li>Coffee</li>
  <li>Tea</li>
  <li>Milk</li>
</ul> 

Как вы кодируете это для рендеринга без мопса с данными, поступающими из ответа на запрос?

ul
    each item in data
        li=item.name

Просто... сделай то, что ты уже сказал? Если вам не нужны какие-либо фреймворки или механизмы рендеринга и т. д., то (а) почему вы показываете файл .pug (который является шаблоном, требующим механизма рендеринга pug) и (б) просто генерируете простой текстовый HTML и отправляете это как ответ?

Mike 'Pomax' Kamermans 24.04.2019 19:23

Если вы генерируете html таким образом, вы вскоре столкнетесь с теми же проблемами, с которыми столкнулись создатели этих механизмов шаблонов, которые побудили их в первую очередь разработать механизмы шаблонов.

djheru 24.04.2019 20:37
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
3
2
114
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
const createList = items => `<ol>${items.map(i => `<li>${i}<li/>`).join("")}<ol/>`;

collection.query(q, function(err, docs) {
    if (err) {
        res.status(500).send({
            error: err
        });
        return;
    }

    console.info("Got docs: ",docs);

    res.send(createList(docs))

});

Используя стрелочные функции и литералы шаблонов, вы можете изменить стрелочные функции на обычные functions, а литералы шаблонов — на строку, объединенную +, если вы используете более старую версию nodejs.

Здесь, если кто-то даст ответ на ваш вопрос, вы можете пометить ответ как правильный, просто сказав (@Conan).

Sebastián Espinosa 25.04.2019 06:58

вы передаете undefined как элементы, возможно, вам нужно проверить переменную docs

Sebastián Espinosa 25.04.2019 22:56

Другие вопросы по теме