Rolldownは、Viteが将来的にデフォルトとして統合予定の高性能JavaScriptバンドラーです。バンドルプロセスは、モジュールスキャン、シンボルリンク、最終コード生成の3つの主要なステージで構成されています。最終ステージでは、プロジェクトの詳細な「マップ」を利用して、アプリケーションの読み込み速度とバンドルサイズに直接影響を与える出力を生成します。Rolldownは、PreserveモードとNormalモードの2つの主要なコード生成戦略を採用しています。Preserveモードでは、各モジュールのために別々のチャンクを作成し、元のモジュール名をファイル名として保持します。一方、Normalモードでは、モジュールグラフを最適化されたチャンクのセットに変換します。記事では、特にNormalモードのコードスプリッティングアルゴリズムに焦点を当て、最終的な構造最適化についても触れています。 • Rolldownは高性能なJavaScriptバンドラーで、Viteに統合予定。 • バンドルプロセスはモジュールスキャン、シンボルリンク、最終コード生成の3段階。 • Preserveモードでは、各モジュールのチャンクを保持し、ライブラリ配布に適している。 • Normalモードでは、モジュールグラフを最適化されたチャンクに変換し、パフォーマンスを向上させる。 • 最終的な構造最適化が行われ、アプリケーションの読み込み速度とバンドルサイズに影響を与える。
この記事では、Rolldownの動作について説明しています。具体的には、シンボルリンク、CJS(CommonJS)およびESM(ECMAScript Modules)の解決方法、エクスポート分析に焦点を当てています。Rolldownは、モジュールの依存関係を管理し、異なるモジュールシステム間での互換性を提供するツールです。CJSとESMの解決方法を理解することで、開発者はより効率的にモジュールを使用できるようになります。また、エクスポート分析により、どのモジュールがどのようにエクスポートされているかを把握することが可能です。これにより、コードの可読性と保守性が向上します。 • Rolldownはモジュールの依存関係を管理するツールである。 • CJSとESMの解決方法を提供し、異なるモジュールシステム間の互換性を確保する。 • シンボルリンクを使用して、モジュール間の依存関係を明確にする。 • エクスポート分析により、モジュールのエクスポート状況を把握できる。 • これにより、コードの可読性と保守性が向上する。