Hasty Briefsbeta

双语

Never write your own date parsing library

10 months ago
  • #JavaScript
  • #Eleventy
  • #date-parsing
  • 作者最初选择Luxon作为Eleventy的日期解析库,这在当时是个不错的选择。
  • 随着Eleventy扩展到更多JavaScript环境,Luxon的体积问题凸显(node_modules中4.7MB,打包后229kB)。
  • 作者寻找替代方案时发现准确性存在问题(dayjs在228项测试中失败80项)。
  • 最终决定收紧日期解析要求,遵循与未来Temporal API兼容的RFC 9557标准。
  • 为此创建了新库@11ty/parse-date-strings取代Luxon,专注RFC 9557兼容性并显著减小体积。
  • 新库节省约230kB打包体积,node_modules从21.3MB降至16.6MB。
  • 虽然考虑过@js-temporal/polyfill和temporal-polyfill等方案,但不符合Eleventy需求。