繁体   English   中英

Express / Node Res使用JavaScript文件进行变量访问

[英]Express/Node Res Variable Access With Javascript File

我正在使用Express / Node和Pug来构建应用程序。 我有一个客户端Javascript文件,该文件基于来自Express路由和控制器的数据呈现JVectorMap。

我知道如何通过Pug视图访问数据,以及是否在视图中使用脚本标签。 我的问题是,如何将所有javascript都拉出到另一个文件,并且仍然能够访问/处理发送到视图的数据?

当前:路线

router.get('/', dashboard.getRecentReviewsLimit, dashboard.getMapData,function(req, res, next) {
    res.render('dashboard', {
      user: req.user,
      dashreviews: res.locals.reviewlimit,
      mapdata: res.locals.mapdata
    });
});

帕格模板/视图(此脚本使用地图更新div):

script(type='text/javascript').

    var mapData = !{JSON.stringify(mapdata)};

    var max = 0,
    min = Number.MAX_VALUE,
    cc,
    ........

如何将所有脚本代码拉到一个单独的文件中,仍然可以访问!{JSON.stringify(mapdata)}数据?

最简单的方法就是也通过pug生成JavaScript。

给定类似./views/js/datamapper.pug

var mapData = !{JSON.stringify(mapdata)};

var max = 0,
min = Number.MAX_VALUE,
cc,
........

然后,您可以拥有一条路线:

router.get('/datamap.js', (req, res) => {
  res.render('js/datamapper', { mapdata: ... });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM