rails6にwebpackerでjquery, bootstrap, popper.jsを導入した話

プログラミングを本格的にスタートして5ヶ月目に入りましたさかもとです。

今回はPFで使用しているrails 6にwebpackerを使ってjquery, bootstrap, popper.jsを導入した流れについて話そうと思います。

 

webpackerって?

 

webpackを利用してrails上にJavaScriptの開発環境を整えるためのgemパッケージ

 

webpackとは違うの?

 

webpackはjavascriptファイルやsassファイルなどをまとめるモジュールバンドラです。モジュールとは複数のjsファイルを一つのjsファイルにまとめることを言います。(sassファイルも同じ)。webpackerはwebpackをrailsに簡単に適応させるgemです。

 

アセットパイプラインとは違うの?

 

アセットパイプラインもモジュールバンドラです。ですがフロントエンドの発展に伴いこちらはどんどん古くなっています。webpackの方が今の環境にあった新しいモジュールバンドラになります。

 

導入の流れ

 

① yarn add jquery bootstrap popper.js 

 

②yarnしたものがrailsの中にしっかり入っているか確認

 確認の仕方はpacage.jsonファイル

  https://i.gyazo.com/8ed2f73a75c5d0b87898be268418b18b.png

  いろいろ入っているとは思いますがこの時点でbootstrap, jquery , popper.jsが入って

     いればとりあえずrailsの中にインストールは完了しています。

 

②Bootstrapの管理方法

 app/javascriptの中にsrcディレクトリを作成しapplication.scssファイルを作成しま

 す。

 

 @import '~bootstrap/scss/bootstrap' ;

    

 さらにapp/javascript/packs/application.jsの中に以下を追記

 (おそらくpacksフォルダは作成されていないので作成)

 

 import 'bootstrap'

    import '../src/application.scss'

 (@importとはscssが用意しているメソッド。application.scssファイルからscssファ

 イルをインポートするために使用する)

 

jqueryの管理方法

 app/javascript/packs/application.jsに以下を追記

  

 require("jquery")

    (requireは外部ファイルの読み込みに使います)

 

 config/webpack/environment.jsに以下を追記

 

  https://i.gyazo.com/353be19aa98defe7e71fb9be6b231541.png

 

これで完了。

あとはrails sをしてみて実際に適応されているかを確認してみてください。

 

最後に

 

rails 6から仕様が変更になりwebpackerでの導入になったみたいで焦りましたがwebpack周りをしるいい機会になりました。