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需求。