如何在哈巴狗渲染中访问全局变量

时间:2017-11-21 19:26:52

标签: node.js pug

我正在使用观点模块来渲染帕格模板:

Fastify.register(require('point-of-view'), {
    engine: {
      pug: require('pug')
    },
    templates: Path.join(__dirname,'templates'),
    options: {
      filename: Path.join(__dirname,'templates/layout.pug'),
      globals: [
        {
          assets_path: 'Path_to_assets'
        }
      ]
    }
  })

如何在pug模板中访问全局变量?

2 个答案:

答案 0 :(得分:0)

好吧,我找到了一种方法:访问env vars。

在我的模板中我使用

global.process.env.ASSETS_PATH

其中ASSETS_PATH被声明为我的env vars的一部分

答案 1 :(得分:0)

您无法访问“选项”参数。但是您可以像这样通过defaultContext传递变量:

fastify.register(require('point-of-view'), {
  engine: {
    pug: require('pug')
  },


  defaultContext: {
    // Place your variable here
    globals: [],
    myVars,
    appName: 'Fastify Website'
  },


  templates: Path.join(__dirname,'templates'),
  options: {
    filename: Path.join(__dirname,'templates/layout.pug'),
    globals: [
      {
        assets_path: 'Path_to_assets'
      }
    ]
  }
})