[英]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.