WebPackerからJSBunling Railへの移行方法
6267 ワード
JSBunling Railsのインストール
gemfileに追加します
gem 'jsbundling-rails'
端末で次のコマンドを実行します.bundle install
rails javascript:install:esbuild
スワップパッケージのタグ
JSBinding :インストールコマンドを挿入する
javascript_include_tag
タグの上にタグを付けるapplication.html.erb
ファイル.このタグwilは新しいJavascriptエントリポイントを含みますjavascript/application.js
ビルドスクリプトがアプリケーションに含まれます.Webpackのレガシーを削除する
stylesheet_pack_tag
:# old
<%= javascript_pack_tag 'application', 'data-turbo-track': 'reload' %>
# new
<%= javascript_include_tag "application", "data-turbo-track": "reload", defer: true %>
あなたのアプリケーションが複数のレイアウトをレンダリングする場合は、必ず削除するjavascript_pack_tag
そこも.輸入刺激コントローラ
既にインストールした場合でも、再度コマンドを実行してください.これは、すべての既存の刺激コントローラを正しくインポートします.
rails stimulus:install
今、新しい刺激コントローラを追加または削除した後、自動生成するコマンドを使用することができますcontrollers/index.js
ファイル.rails stimulus:manifest:update
JSエントリポイントの移行
内容を移動する
javascript/packs/application.js
tojavascript/application.js
. ファイルの移行後、WebPackerによって使用されたJavaScript/Packフォルダを削除します.JavaScriptフォルダ内の相対パスでディレクトリをインポートするようにします.
// old
require("channels")
//new
import "./channels"
import "./controllers"
webpackの削除
Webpackとその触手は、最終的にアプリケーションから削除することができます.
ウェブパッケージング
gem 'webpacker', '~> 5.4'
b .ウェブパックパッケージの削除
Webpackパッケージとプラグインは、時間をかけて蓄積することもできます.私にとっては、
ウェブパックファイルを削除
最後に、すべての設定ファイルと起動ファイルを削除します.
Githubアクション
GithubアクションをCI/CDとして使用する場合は、追加のビルドステップを追加して糸ビルドを実行します.糸のビルドは、あなたの
package.json
ファイル"build": "esbuild app/javascript/*.* --bundle --outdir=app/assets/builds"
. すべてのJavaScriptファイルをワークフローファイル内のテストを実行する前にバンドルされる必要があります.- name: Build Esbuild
run: yarn build
7
更新は、コメントに記載されているように、今では冗長です.参照https://devcenter.heroku.com/changelog-items/2284 .
Herokuを使用してアプリケーションを展開する場合、HerokuはWebPack用の糸を自動的にインストールしません**
したがって、Ruby以前にノードBuildPackを明示的に設定する必要があります.端末またはHerokuダッシュボードでこれを行うことができます.
heroku buildpacks:clear
heroku buildpacks:set heroku/nodejs
heroku buildpacks:add heroku/ruby
Reference
この問題について(WebPackerからJSBunling Railへの移行方法), 我々は、より多くの情報をここで見つけました https://dev.to/thomasvanholder/how-to-migrate-from-webpacker-to-jsbundling-rails-esbuild-5f2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol