Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(Node.js/Express)将数据从控制器发送到pug视图时的最佳实践,然后由Javascript进行处理_Javascript_Node.js_Express_Pug_Cytoscape.js - Fatal编程技术网

(Node.js/Express)将数据从控制器发送到pug视图时的最佳实践,然后由Javascript进行处理

(Node.js/Express)将数据从控制器发送到pug视图时的最佳实践,然后由Javascript进行处理,javascript,node.js,express,pug,cytoscape.js,Javascript,Node.js,Express,Pug,Cytoscape.js,一般来说,我不熟悉Node.js/Express/Frontend development,我试图了解如何更好地处理从控制器传递到pug视图的数据,然后这些数据将由一些JavaScript处理 现在,我是如何处理数据的: objectController.js: exports.objectDetails = function (req, res) { object.findById(req.params.id) .then(results => {

一般来说,我不熟悉Node.js/Express/Frontend development,我试图了解如何更好地处理从控制器传递到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);
这是最佳实践还是有更好的方法

我试着寻找多个来源,这是我能找到的最好的一个


提前谢谢

您现在所做的方式目前仍然有效,因此这个问题有点模糊,但是如果您想要一种标准/更惯用的方法,那么我建议您从前端JS进行HTTP调用,以获取图形数据,然后您可以映射这些数据。这意味着您提供主页的服务器端代码只需呈现pug模板并返回HTML、CSS和JS。然后,前端JS将命中专门设计用于检索图形数据的端点

您还可能会发现,这样可以让页面快速加载到浏览器中,并在之后进行更长的数据处理过程,从而提供更好的用户体验


因此,您将得到两个HTTP调用和两个端点。第一种方法将在没有任何图形数据的情况下呈现pug模板。第二个将生成图形数据,并将其以JSON格式发送回图形库。

如果您在pug模板中已经有可用的数据,为什么需要在前端进行任何处理?您不能通过pug模板完成所有需要的操作吗?定义“更好”@ElliotBlackburn我正在使用一个名为的可视化库,从我提取的数据创建一个节点网络。我需要能够将数据从渲染视图提取到处理节点网络的脚本上。@TGrif一种在保持可读性的同时,使应用程序在增长时不会失去性能的方法。我想我是在寻找设计模式