10
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Keisuke Death MarchAdvent Calendar 2023

Day 1

【Rails7】jsbundling-railsを用いたモジュールバンドラーの比較

Last updated at Posted at 2023-11-30

はじめに

Rails7系からWebpackerが非推奨になり、importmap-railsjsbundling-railsJavaScriptを管理するようになりました。今回はjsbundling-railsを用いたモジュールバンドラーの比較を少しまとめてみました。

jsbundling-railsとは

jsbundling-rails は、Webpackesbuildrollup といったモジュールバンドラーの使用をサポートする Gemです。

比較

esbuild rollup webpack
ビルド速度 高速 低速 低速
CommonJSモジュール対応 △(要プラグイン)
ES6対応 △(要Babel)
TypeScriptのトランスパイル △(要プラグイン) △(要プラグイン)
JSX構文のトランスパイル △(要プラグイン) △(要Babel)

考察

特筆すべきは、esbuildの速度です。
他2つと比較すると、100倍以上の差があるような事例もあるそうです。
他を比較しても、CommonJSモジュールES6に対応しています。また、TypeScriptJSX構文のトランスパイルもサポートしています。これらの特性は、大規模なプロジェクトで高速なビルドを必要とする場合や、TypeScriptJSXを頻繁に使用する場合に有効かと思いますが、特段理由が無ければ、モジュールバンドラーに関してはesbuildを使う方向で問題ないのではないかと思います。

参考

10
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?