(Node.js / Express) Лучшая практика при отправке данных с контроллера в представление мопса, которое затем обрабатывается Javascript - PullRequest
1 голос
/ 20 июня 2019

Я новичок в разработке Node.js / Express / Frontend в целом, и я пытаюсь понять, как лучше обрабатывать данные, передаваемые из контроллера в представление pug, которое затем обрабатывается некоторым JavaScript.

Прямо сейчас, вот как я обрабатываю данные:

objectController.js:

exports.objectDetails = function (req, res) {
    object.findById(req.params.id)
        .then(results => {
            res.render('layout', { data: results });
        })
        .catch(error => {
            // error
        })
};

layout.pug:

doctype html
html(lang='en')
  head
    script(src='frontend.js')
    script(type='text/javascript').
      var myObject = !{JSON.stringify(data)}

frontend.js:

"use strict";
someFunction(myObject);

Это лучшая практика или есть лучшие способы сделать это?

Я пытался посмотреть на несколько источников, и это лучший, который я смог найти.

Заранее спасибо.

1 Ответ

1 голос
/ 21 июня 2019

То, как вы сейчас работаете, работает, поэтому вопрос немного расплывчатый, но если вам нужен стандартный / более идиоматический подход, я бы посоветовал сделать HTTP-вызов от вашего JS-интерфейса, чтобы получить данные графика, которые вы может тогда карта. Это будет означать, что ваш серверный код для обслуживания главной страницы просто отобразит шаблон pug и отправит обратно HTML, CSS и JS. Затем ваш внешний интерфейс JS достигнет конечной точки, специально предназначенной для извлечения данных графика.

Вы также можете обнаружить, что это дает лучший пользовательский опыт, позволяя быстро загружать страницу в браузере и выполнять более длительные процессы обработки данных.

Таким образом, вы получите 2 HTTP-вызова и 2 конечные точки для них. Первый будет отображать шаблон мопса без каких-либо графических данных. Второй сгенерирует графические данные и отправит их обратно в формате JSON для передачи в вашу графическую библиотеку.

...