根据 imgix 文档,您需要输出如下所示的内容:
<img
ix-path="unsplash/hotairballoon.jpg"
ix-params='{
"w": 300,
"h": 500,
"fit": "crop",
"crop": "right"
}'
alt="A hot air balloon on a sunny day"
>
您尝试执行此操作的第二种方法是导致错误的原因,因为 pug 在等号之后需要一个字符串或 JavaScript 表达式,并且您正在向它发送一个原始 JSON 对象。
所以让我们试试这个:
img(ix-path="unsplash/hotairballoon.jpg" ix-params='{"w": 300, "h": 500, "fit": "crop", "crop": "right"}' alt="A hot air balloon on a sunny day")
产生您显然不想要的输出:
<img ix-path="unsplash/hotairballoon.jpg" ix-params="{"w": 300, "h": 500, "fit": "crop", "crop": "right"}" alt="A hot air balloon on a sunny day"/>
获取未转义属性的方法隐藏在文档底部附近,但您需要以 bang/ 开头该属性!
并用波浪号 ( ` ) 括起该属性:
这个哈巴狗声明:
img(ix-path="unsplash/hotairballoon.jpg" ix-params!= `{"w": 300, "h": 500, "fit": "crop", "crop": "right"}` alt="A hot air balloon on a sunny day")
将其输出到接近但不完全的文档中:
<img ix-path="unsplash/hotairballoon.jpg" ix-params="{"w": 300, "h": 500, "fit": "crop", "crop": "right"}" alt="A hot air balloon on a sunny day"/>
切换双引号和单引号应该可以工作:
img(ix-path="unsplash/hotairballoon.jpg" ix-params!= "{'w': 300, 'h': 500, 'fit': 'crop', 'crop': 'right'}" alt="A hot air balloon on a sunny day")
产生这个:
<img ix-path="unsplash/hotairballoon.jpg" ix-params="{'w': 300, 'h': 500, 'fit': 'crop', 'crop': 'right'}" alt="A hot air balloon on a sunny day"/>
我个人宁愿在外部使用单引号,在内部使用双引号,但不知道如何做到这一点。不过,这应该可以工作,因为它是一个有效的 JavaScript 对象。