Closed11

Rollupについて学ぶ

tkrytkry

Viteに使われてるRollupについて学ぶ
最近はRolldownとか代替も出てきてる気がするけどwebpackと何が違うのか知りたい

tkrytkry

Getting started | Rollup

公式ドキュメント目を通せそうな量

クイックスタート

Rollupは2つの使用方法がある

  • cliでconfigファイルを書く
  • jsのメソッドとしてimportして使う

Tree shaking

使用されている部分以外は除去してくれるよ

互換性

CommonJSもプラグインでimportできるらしい
https://github.com/rollup/plugins/tree/master/packages/commonjs

tkrytkry

コマンドラインインターフェースとJavaScriptAPIはたいへんそうなのでスキップ

tkrytkry

Tutorial

voltaでrollupコマンドをインストールして試しにやってみる
チュートリアルわかりやすすぎて書くことがない

プラグイン

  • BabelやJSONを扱うなどを使用するにはプラグイン機能を使う
  • rollup.config.mjsのpluginに記載するだけ

出力用プラグイン

  • Rollupの解析が終わった後に適用されるプラグイン
    • 詳細Build Hooks
      • めちゃくちゃ詳細に処理の流れが書いてあるので、読んだら面白そう
  • ミニファイとか

コード分割

webpackと似たようなことができる

tkrytkry

ES Module Syntax

  • めちゃくちゃまとまっててよかった
  • 一番最後のlive bindingsは知らなかった
    • 単純にバンドルされて一つのスコープの中にあるから値が更新される、みたいな解釈でよい?
    • それともファイルが分割された状態でも参照を見にいくってことなんだろうか
tkrytkry

よくある質問

Tree shakingってなに

  • AST由来で、不要コードを削除する
  • Rollup は本質的には Node とブラウザの両方におけるネイティブ モジュール ローダーの一種のポリフィルらしい
tkrytkry

トラブルシューティング

流し読み

  • evalについて
  • Tree shakingできない場合について
tkrytkry

その他

  • With NPM Packages
    • ESMとして公開されてるライブラリは、nodeで動かそうとすると動かないことがある
    • それを解決する方法について
  • Babel
    • @rollup/plugin-babelを使えばよいらしい
tkrytkry

公式ドキュメントが読みやすくて助かる

このスクラップは2024/08/18にクローズされました