Gruntjs 使用汇编,使用一个模板文件从多个数据文件生成HTML文件?
我正在尝试使用Assemble使用一个模板从多个数据文件生成多个静态文件 更详细地说,我有12个JSON文件表示烹饪食谱的数据,还有一个Handlebar文件recipe.hbs,布局文件default.hbs 我想根据每个JSON文件输出一个HTML文件 文件结构:Gruntjs 使用汇编,使用一个模板文件从多个数据文件生成HTML文件?,gruntjs,assemble,Gruntjs,Assemble,我正在尝试使用Assemble使用一个模板从多个数据文件生成多个静态文件 更详细地说,我有12个JSON文件表示烹饪食谱的数据,还有一个Handlebar文件recipe.hbs,布局文件default.hbs 我想根据每个JSON文件输出一个HTML文件 文件结构: /templates /data recipe1.json recipe2.json, etc. /layouts default.hbs /pages
/templates
/data
recipe1.json
recipe2.json, etc.
/layouts
default.hbs
/pages
recipe.hbs
/output
recipe1.html (based on recipe1.json)
recipe2.html (based on recipe2.json), etc.
输出:
/templates
/data
recipe1.json
recipe2.json, etc.
/layouts
default.hbs
/pages
recipe.hbs
/output
recipe1.html (based on recipe1.json)
recipe2.html (based on recipe2.json), etc.
听起来使用集合应该可以做到这一点,但我似乎不知道如何设置Grunt文件
谢谢。我创建了以下要点:
在grunfile.js
文件中有代码,用于动态创建包含组合配方模板和配方数据的页面
列表
是创建页面
数组的关键。可以将它们移动到另一个文件中,并需要将其放入以使grunt文件更干净
将页面
数组添加到Assembly上的页面
选项中,以便生成它们
如果没有任何其他要生成的页面,请使用设置dest,而不拉入任何其他页面
希望这有帮助。谢谢@doowb。我能够在工作中检查这个,一切似乎都很正常。使用这个方法,我能够读入多个JSON文件到
数据
变量吗?我尝试使用一个JSON来表示站点范围的数据,另一个JSON来表示配方。我尝试在一个对象中包装两个grunt.file.readJSON()
调用,但没有成功。通过这个答案,我找到了如何将多个文件加载到数据
变量中的方法。如果在汇编选项中执行data:['templates/data/*.json']
,则所有数据文件都将加载并基于文件名可用。e、 g.{{recipe1.something}
回顾一下另一个项目的这个问题,是否可以让每个页面都设置自己的dest?如果你愿意,我可以用一个新问题来回答@笨蛋