↓↓クリックして頂けると励みになります。
【03 | アプリケーションの作成】 << 【ホーム】 >> 【05 | deviceの利用】
Bootstrap5.3を利用する準備をします。
Bootstrap5.3を動かすために必要なパッケージをYarnでインストールします。
必要なパッケージは「jquery」と「popper.js」「popperjs/core」です。
コマンド
yarn add jquery@3.6.0 popper.js@1.16.1 @popperjs/core@2.11.8
「app/assets/stylesheets」フォルダにある「application.css」ファイルを「application.scss」にリネームします。
拡張子をscssにしています。
Bootstrap4.xの時ははこのリネームファイルにBootstrapのスタイルを読み込ませる記述をしていましたが、Bootstrap5.3ではHerokuデプロイ時にスタイルシートが読み込めない問題があるため、ここでは何も記述しなくて大丈夫です。
「app/javascript/packs/application.js」ファイルにjQueryを読み込ませる記述を追加します。
require("jquery")
記述追加 【app/javascript/packs/application.js】16行目
// This file is automatically compiled by Webpack, along with any other files // present in this directory. You're encouraged to place your actual application logic in // a relevant structure within app/javascript and only use these pack files to reference // that code so it'll be compiled. import Rails from "@rails/ujs" import Turbolinks from "turbolinks" import * as ActiveStorage from "@rails/activestorage" import "channels" Rails.start() Turbolinks.start() ActiveStorage.start() // jQuery require("jquery")
Webpackの設定をします。
「config\webpack\environment.js」ファイルに以下の記述を追加します。
const webpack = require('webpack') environment.plugins.append('Provide', new webpack.ProvidePlugin({ $: 'jquery/src/jquery', jQuery: 'jquery/src/jquery', Popper: ['popper.js', 'default'] }) )
記述追加 config\webpack\environment.js(6行目)
const { environment } = require('@rails/webpacker') module.exports = environment //Webpack const webpack = require('webpack') environment.plugins.append('Provide', new webpack.ProvidePlugin({ $: 'jquery/src/jquery', jQuery: 'jquery/src/jquery', Popper: ['popper.js', 'default'] }) )
「app/views/layouts/application.erb.html 」の「stylesheet_link_tag」を「stylesheet_pack_tag」に変更します。
また、Bootstrap5.3を利用するため、CSSとJSをCDN経由でインクルードする記述を追加します。
記述変更 app/views/layouts/application.erb.html(9行目~14行目)
#削除<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <!-- bootstrap5.3 --> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-geWF76RCwLtnZ8qwWowPQNguL3RmwHVBC9FhGdlKrxdiJJigb/j/68SIy3Te4Bkz" crossorigin="anonymous"></script>
app/views/layouts/application.erb.html
<!DOCTYPE html> <html> <head> <title>VacationRental</title> <meta name="viewport" content="width=device-width,initial-scale=1"> <%= csrf_meta_tags %> <%= csp_meta_tag %> <%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %> <!-- bootstrap5.3 --> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-9ndCyUaIbzAi2FUVXJi0CjmCapSmO7SnpJef0486qhLnuZ2cdeRhO02iuK6FUUVM" crossorigin="anonymous"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-geWF76RCwLtnZ8qwWowPQNguL3RmwHVBC9FhGdlKrxdiJJigb/j/68SIy3Te4Bkz" crossorigin="anonymous"></script> </head> <body> <%= yield %> </body> </html>
これでBootstrap5.3を使用する準備が整いました。
【03 | アプリケーションの作成】 << 【ホーム】 >> 【05 | deviceの利用】
↓↓クリックして頂けると励みになります。