[JavaScript] moment.jsから乗り換えた話

概要

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まで落ちました☺

免責事項

このブログは個人的なメモを兼ねたものです。

このブログを参考にした結果起こりうる如何なる事態に対しても、当方では責任を負いかねます。

予めご了承ください。