迁移到 LiquidJS 9

LiquidJS 9 有一些基础性的改进,包括一些缺陷修复、新特性、性能提升,也有一些不兼容的变更。

新特性

  • 同步渲染:新增了 renderSync, parseAndRenderSync, renderFileSync API
  • 新的工具:Expression 和 Tokenizer

修复

  • 布尔逻辑运算顺序,见 #130
  • breakcontinue 会忽略它们之前的代码,见 #123
  • React.js 示例无法正确 yarn install,见 #145
  • 有时没有正确地等待 Promise 类型的 Drops。

性能

  • 目标平台提升到 Node.js 8 引起的性能提升(去掉了一些 Polyfill),见 #137
  • 内存使用降低了 57.5%,见 #202
  • 渲染性能提升了 100.3%,见 #205

不兼容的变更

  • LiquidJS 不再有默认导出了,以后要使用 import {Liquid} from 'liquidjs' 语法。使用 UMD 包里的 window.Liquid 也需要改为 window.liquidjs.Liquid
  • 移除了重复的静态方法 Liquid.evalValue,统一使用示例方法 liquid.evalValue
  • 支持的最低目标平台为 Node.js 8,CJS 包(Node.js 下的主入口)不再支持 Node.js ≤ 6 了,ESM(dist/liquid.browser.esm.js)和 UMD(dist/liquid.browser.umd.js, dist/liquid.browser.min.js)包不受影响。