amp-state/JSON 哈巴狗 js 不支持格式

amp-state/JSON format not supported in pug js

无法在 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 格式吗?我错过了什么?

简短的完整错误消息

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

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

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

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