Railsのimportmapを使う

Rails 7で新規プロジェクトを作成するとデフォルトでimportmapを使うことになる。

Rails 5を使っていた既存のプロジェクトで、Rails 7に変更してimportmapを使ってみた備忘録。

importmapのインストール

rails/importmap-rails: Use ESM with importmap to manage modern JavaScript in Rails without transpiling or bundling.

githubのページを参考にインストールする。

./bin/bundle add importmap-rails
./bin/rails importmap:install

javascript_importmap_tagsを使う

.erbでjavascript_importmap_tagsを使うと以下のエラーが出た。

Sprockets::Rails::Helper::AssetNotPrecompiledError

Asset was not declared to be precompiled in production.
Add `Rails.application.config.assets.precompile += %w( player/show.js )` to `config/initializers/assets.rb` and restart your server

メッセージ通りassets.rbを修正するとエラーは解決する。

エラー

Could not find a JavaScript runtime

productionで実行したら発生した。javascriptの環境がないらしい…

Comments

タイトルとURLをコピーしました