如何在pug中访问JavaScript变量值?

时间:2018-10-04 06:19:51

标签: javascript pug

我的 index.pug 文件如下所示:

head
    script(type="text/javascript").
        var isMobile = (screen.width || window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) <= 480;
body
    if isMobile
        include nav_mobile
    else
        include nav

我写了上面的代码,但没有得到想要的结果。 (isMobile似乎总是null

如何获取JavaScript变量的值以进行修改?

2 个答案:

答案 0 :(得分:1)

有多种方法可以获取屏幕尺寸。具体来说,哈巴狗,我建议编写一个包含脚本的页面,该脚本将屏幕大小和redirects移至正确的端点,或将详细信息添加到会话或URL查询中,然后将其发送到服务器,然后您可以将它们带上路线并将其传递到pug renderer

将来,我建议使用CSS处理移动/桌面设计,而不要使用JavaScript来处理。因为如果在任何一个版本上更改屏幕大小都不会改变设计,则必须重新加载页面。

答案 1 :(得分:0)

在呈现该视图的请求处理程序中,您必须传递要在视图中访问的变量列表

app.get('/', function (req, res) {
    // your code goes here
   // you pass each variable in the second parameter to the render method of response object
    res.render('index', { isMobile: true });
});