0

无法在 pugjs 中包含以下代码。我收到错误。

<body>
  <amp-state id="theFood">
    <script type="application/json">
      {
        "cupcakes": {
          "imageUrl": "https://amp.dev/static/samples/img/image2.jpg",
          "style": "greenBorder"
        },
        "sushi": {
          "imageUrl": "https://amp.dev/static/samples/img/image3.jpg",
          "style": "redBorder"
        }
      }
    </script>
  </amp-state>

我在 pugjs 中转换为

amp-state#theFood
        script(type="application/json").
            {
                "cupcakes": {
                    "imageUrl": "https://amp.dev/static/samples/img/image2.jpg",
                    "style": "greenBorder"
                },
                "sushi": {
                    "imageUrl": "https://amp.dev/static/samples/img/image3.jpg",
                    "style": "redBorder"
                }
            }

但我收到以下错误。pugjs 不支持 JSON 格式吗?我错过了什么?

在此处输入图像描述

简短的完整错误信息

在此处输入图像描述

4

1 回答 1

0

Pug 支持 JSON,只要它是在 Pug 块中编写的,或者它全部出现在原始 HTML元素中script的一行上。<script>

您要么需要删除<script>文件第 3 行上该标记内出现的换行符,要么需要使用 Pug 语法,如下所示:

script(type='application/json').
  {
    "cupcakes": ...
  }

Pug 的设计并不是为了将 Pug 语法与您目前正在做的选择性压缩的 HTML 标记混合在一起。

于 2021-03-18T21:37:16.577 回答