访问jade模板中的数据(制作静态html)

bsr*_*bsr 4 javascript node.js gruntjs pug

我试图将一些数据传递给jade模板以生成静态内容.我不太了解node.js和express,我不把它们用作后端.我使用jade作为模板引擎并生成静态html.

关于有多行代码,并且所有者评论在玉问题清单中有许多要求

我想促进从模板中保留太多js,地图等可以通过本地人公开

如果模板中有很多逻辑或对象等你应该使用app.helpers()等,它们仍然可以是只有视图的助手,但至少可以保持模板清洁

我不太确定如何在基于grunt的环境中执行此操作.基本上,如果我可以在我的jade模板中访问javascript变量(可能是文本,js或json文件),那么我可以使用模板中的数据并生成静态html文件.做这个的最好方式是什么?


编辑

为了进一步澄清,我可能有数据(例如在json文件中)

user1 = {link: '', lbl: 'User', txt: '.... lot 0f text ....'}
user2 = {link: '', lbl: 'User', txt: '.... lot 0f text ....'}
Run Code Online (Sandbox Code Playgroud)

在我的mixin中,我需要以某种方式访问​​我的jade模板中的user1,user2等

.content
        +colum(user1 )
        +colum(user2 )

mixin colum(d)
    .span4
        h4
            | #{d.lbl}
        p
            | #{d.txt}
Run Code Online (Sandbox Code Playgroud)

万分感谢.

Kyl*_*ung 5

如果你想用grunt-contrib-jade来做这个data选项:

jade: {
  compile: {
    options: {
      data: function(dest, src) {
        // Return an object of data to pass to templates
        return require('./userData.json');
      },
    },
    files: {
      "dest.html": ["templates/*.jade"]
    },
  },
}
Run Code Online (Sandbox Code Playgroud)

以下是文档:https://github.com/gruntjs/grunt-contrib-jade#data