sprockets4.xからprecompileの設定方法が変わりましたが、一部機能をengineや別のgemに切り分けている場合、うまくprecompileされない問題が発生しましたので、解決方法をまとめます。
環境
- rails 5.2.6
- speockets 4.0.2
解決方法
Rails(本体)側の設定
-
app/assets/config/manijest.js
に//=link {engine_name}
を追加
Rails(engine)側の設定
-
app/assets/config/{engine_name}.js
を作成 - precompileが必要なファイルを作成したjsに設定する(記法はmanifest.jsと同じ)