【问题标题】:How to minify javascript file generated by liquid template generator如何缩小由液体模板生成器生成的javascript文件
【发布时间】:2014-03-17 08:56:05
【问题描述】:

我正在尝试优化 shopify 网站,GoogleSpeed Insights 建议我缩小 css 和 js 文件。

推荐的文件都是由液体模板生成器生成的,所以我不能使用流行的缩小工具。

如果有人有这个问题的经验,请告诉我。

谢谢。

【问题讨论】:

  • 您能详细说明为什么不能使用 gulp 或其他任务运行程序进行缩小吗?即使文件是由某些生成器生成的,您也可以查看输出目录的更改并缩小生成的文件。
  • 很可能是因为 Liquid 的大括号 + 百分号分隔符 ({% ...%}) 会导致压缩器抛出语法错误

标签: javascript css minify liquid


【解决方案1】:

如果您尝试缩小此类文件,您将看到由于 Liquid 模板代码而导致的错误。这是一个技巧,可以帮助您缩小包含 Liquid 模板代码的 JavaScript 文件。但这涉及很少的体力劳动。

用一些随机的唯一字符串替换所有 Liquid 模板代码。记住所有的替换。您可以使用文件差异应用程序查找.js.liquid 文件和生成的.js 文件的差异,以便轻松找到需要替换的位置。现在,您可以使用任何 JavaScript 缩小工具来缩小这个修改后的文件而不会出现任何错误。缩小结束后,您可以将随机的唯一字符串替换为相应的替换字符串。

我正在优化一个主题以获得良好的 PageSpeed Insights 分数。这个技巧帮助我缩小、合并和压缩许多 .js.liquid 文件。

【讨论】:

  • 谢谢@FoNko。如果您觉得有用,请点赞答案。
【解决方案2】:

我没有用 pagespeed 测试过这个,但它看起来像 html 级别的。

在 Business Catalyst 中,我可以使用液体执行以下操作

{% assign allthedata = {{myData|json}} -%}

{{allthedata | remove: ' '}} 

我不知道这是否会影响页面速度,但尝试一下很简单

这会删除我在 myData.json 中动态生成的所有空格。

【讨论】:

    【解决方案3】:

    https://prepros.io/

    我已经使用这个应用程序大约 7 个月了,我非常喜欢它。它可以转换和压缩您的文件。

    我使用 SASS 作为我的 CSS 预处理器,这个应用程序可以帮助我保持代码整洁,这是我将 10 个文件合并为一个文件并对其进行压缩的方法:

    1. 创建 10 个 .sass 文件
    2. 再创建一个 .sass 文件,您将在其中将所有这些文件导入一个,我称之为 main.sass
    3. 使用 prepros 将所有文件导入为一个,然后将其转换为 main.css
    4. 所以,为了调试,我离开 main.css 并创建另一个名为 main-dist.css 的 css 文件
    5. 使用 prepros 将 main.css 压缩为 main-dist.css。

    然后,你得到了 2 个不同的 css 文件,一个是压缩的,一个不是。您可以在创建网站时使用 main.css 进行调试,然后,当您完成并且您的网站运行良好时,您可以使用 main-dist.css 并压缩您的样式。

    哦,顺便说一句,我不知道如何使用 Grunt 或 Gulp,我喜欢这个应用程序,因为它很简单

    P.S 我正在使用试用版(它是免费的),并计划在我为客户完成一些工作后立即购买此应用。

    【讨论】:

    • 你知道什么是.liquid吗?
    猜你喜欢
    • 2019-05-29
    • 1970-01-01
    • 2019-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-22
    相关资源
    最近更新 更多