【问题标题】:getting json data into assemble templates in grunt将 json 数据放入 grunt 中的组装模板中
【发布时间】:2014-05-19 14:14:21
【问题描述】:

我正在通过 grunt 插件使用 assemble (https://github.com/assemble/assemble) 来构建静态页面。

我已经使用 grunt 一段时间了,所以了解它是如何工作的,但这是我第一次使用 assemble,所以我查看了这个作为参考 (http://blog.parkji.co.uk/2013/07/06/building-a-static-site-using-grunt-and-assemble.html)。一切似乎都运行良好。

但是,我想在混合中引入 JSON 数据,并查看了 assemble 站点 (http://assemble.io/docs/Data.html) 上的文档,但是在我运行“grunt assemble”之后它不会呈现 json 数据:(

我的 gruntfile

 assemble: {
        options: {
            layout: "src/responsive/layouts/default.hbs",
            data: 'src/responsive/data/**/*.json',
            flatten: true
        },
        pages: {
            files: {
                'src/': ['src/responsive/pages/*.hbs']
            }
        }
    },

测试json:

{
  "name ": "This is a square widget" ,
  "modifier ": "widget-square" 
 }

及文件夹结构:

- data
-- index.json
- layouts
-- default.hbs
- pages
-- index.hbs

在 pages/index.hbs 中,我尝试调用 {{ index.name }} 或只是调用 {{ name }}(我都尝试过)无济于事。

我把头发拉出来,因为 grunt 没有给出任何错误(事实上,如果我让 json 无效,grunt 会抱怨,所以它正在读取它)。

在我发疯之前非常感谢任何帮助......

谢谢, 阿德里安

【问题讨论】:

  • 这里肯定发生了其他事情 - 我刚刚测试了它并且它有效。我会添加this helper 并查看该页面的范围。祝你好运!
  • 顺便说一句 - 我假设这是一个错字,空格是由 SO 添加的,而不是在你的代码中?如果不是,那就是问题 - 我确实必须修改它,如果是这种情况,我可以将其添加为答案。
  • Kelly,你是救生员...我是多么想念我永远不会知道的额外空间。
  • 添加为答案,很高兴你能成功!
  • 阿迪,你介意检查一下我的答案吗?

标签: gruntjs assemble


【解决方案1】:

您的 JSON 是问题所在。您的keys 中有多余的空格。您的 JSON 格式应如下所示:

{
  "name": "This is a square widget",
  "modifier": "widget-square" 
}

【讨论】:

  • 请扩展您的答案。 JSON 中的问题在哪里?你会如何解决它?
  • 现实地 - 这应该被关闭只是一个错字吗? JSON 中的额外空格导致了问题,如果使用我的答案中的 JSON 可以解决问题,但它只不过是删除了额外的空格。
猜你喜欢
  • 1970-01-01
  • 2020-04-11
  • 1970-01-01
  • 2019-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多