将液体分配给javascript变量

时间:2019-02-01 11:32:10

标签: javascript shopify liquid

var first = 'one',
    second = 'two.png';
    image = first + second;
console.log('js image: ' + image);
image = '{{ image | asset_url }}';
console.log('liquid image: ' + image);

在控制台中生成:

js image: onetwo.png
liquid image: 

我无法获得从液体过滤器输出代码的代码。我尝试使用{% raw %},并看了一些SO问题(Shopify: Using variables from {% schema %} in JavascriptUsing javascript variables in Shopify liquidUsing asset_url within a .js.liquid file)都无济于事。

我在这里做错了什么?我期望得到:

liquid image: onetwo.png?123456789

即使删除asset_url

image = '{{ image }}';

仍然产生:

liquid image:

2 个答案:

答案 0 :(得分:1)

通过以下方式检索变量:

>>> datefinder.ValueError = ValueError, OverflowError
>>> list(datefinder.find_dates("2019/02/01 is a date and 466990103060049 is not"))
[datetime.datetime(2019, 2, 1, 0, 0)]

答案 1 :(得分:1)

与@Subhrajyoti Das聊天后,有一种很简单的方法。

使用伪文本创建完整的字符串,其中实际文件名是:

assetString = '{{ 'filename' | asset_url }}'

这将产生:

cdn.shopify.com/s/files/0/0000/0000/0000/t/00/assets/filename?0000000000

然后使用字符串替换将'filename'替换为资产变量:

image = assetString.replace("filename", image);