概要
productionでビルドしたスクリプト80kbのうち、約60kbがmoment.jsだった為、より軽量なライブラリに乗り換えた話です。
使っていたのは日付のフォーマット機能だけだった為、それに絞ったモジュールへの乗り換えを検討しました。
検討先
date-format
$ npm i date-format
import date_format from "date-format";
const format = "yyyy/MM/dd hh:mm:ss";
const datetime = "1960-12-30 12:34:56";
const output = date_format(format, new Date(datetime));
console.info(output);
productionビルドで2.4kb。特に問題はなかったです。
https://www.npmjs.com/package/date-format
dateformat
$ npm i dateformat
import date_format from "dateformat";
const format = "yyyy/mm/dd hh:MM:ss";
const datetime = "1960-12-30 12:34:56";
const output = date_format(new Date(datetime), format);
console.info(output);
productionビルドで5.1kb。
date-formatと比べると、月と分の大文字小文字が逆で、引数の取り方も逆です。
https://www.npmjs.com/package/dateformat
感想
npmで検索して出てきた両者を試しましたが、フォーマットするだけならどちらでも問題なかったです。
dateformatの方がやや多機能のようですが、標準的なフォーマットしか使わないならdate-formatで十分という印象でした。
尚、80kbあったスクリプトは、preact込みで21kbまで落ちました☺