Rails開発環境について調べた
binとは?
実行可能ファイルを格納するディレクトリの名前。railsではバイナリファイルが入っているわけではなく、スクリプトファイルが入っている。
devとは?
「development」(開発環境)の略
何から何にbin/devは変わったのか?
rails server から bin/devに変わった
なぜ変わったのか?
webpackerが廃止されたため、rails serverだけではCSS・JavaScriptの処理ができなくなったから
Foremanが代用している
webpackerとは?
JS,CSS,JavaScriptなどの部品を一つにまとめる便利なツール
Foreman代用?
bin/devがForemanを利用して複数のプロセスを管理するようになった
ForemanがCSSとかまとめてくれるのか?
いいえ、Foremanはプロセスを管理するだけ。
どういうこと?
ForemanがProcfileを読み込んで複数のプロセスを同時起動する。
rails,js,cssなど
Procfile???
テキストファイルの一種、本稿では設定ファイルをさす
CSSをまとめる作業は誰がやるの?
esbuild等のビルドツールがやってくれる
ここまできてもメリットがわからないんだけど。
Webpackerは複雑すぎる、裏で何が起きているかわかりにくい
シンプルさを説明して
# Railsサーバーを起動
# 0.0.0.0でバインドすることでDocker内からでもアクセス可能に
web: bin/rails server -p 3000 -b 0.0.0.0
# Tailwind CSSの変更を監視し、変更があれば自動的に再コンパイル
# package.jsonのwatch:cssスクリプトを使用
# "scripts": "watch:css":見たいなやつ
css: npm run watch:css
# JavaScriptのビルドと監視
js: npm run build -- --watch
他にメリットは?
- 好きなビルドツールを使える
- 本番環境でも同じProcfileが使える
- 必要な処理だけど利用できる cssはいらないとかもできる