Bootstrap 5 및 Font Awesome 6을 Rails 7에 추가
13614 단어 bootstraprailsfontawesomejavascript
버전
지침
gem "sassc-rails"
gem "bootstrap", "~> 5.2.0"
gem "jquery-rails"
진행하기 전에 터미널에서
bundle install
를 기억하십시오.$ bin/importmap pin @fortawesome/fontawesome-free
$ mv app/assets/stylesheets/application.css app/assets/stylesheets/application.scss
$ touch app/assets/stylesheets/custom.scss
$ touch app/javascript/my_script.js
application.scss에서 모든 *= require 및 *= require_tree 문을 제거하십시오.
app/assets/stylesheets/application.scss
에서 부트스트랩 및 custom.scss 가져오기:// Custom bootstrap variables must be set or imported *before* bootstrap.
@import "bootstrap";
@import "custom";
config/environments/development.rb
에서 인라인 소스 맵 활성화:config.sass.inline_source_maps = true
제대로 활성화하려면 자산 캐시를 지우고 레일 서버를 다시 시작하십시오.
$ rm -r tmp/cache/assets
config/importmap.rb
:# From "jquery-rails" gem
pin "jquery", to: "jquery3.min.js", preload: true
pin "jquery_ujs", to: "jquery_ujs.js", preload: true
# From "bootstrap" gem
pin "bootstrap", to: "bootstrap.min.js", preload: true
pin "@popperjs/core", to: "popper.js", preload: true
# Use all.js instead of fontawesome.js
pin "@fortawesome/fontawesome-free", to: "https://ga.jspm.io/npm:@fortawesome/[email protected]/js/all.js"
# Custom JS
pin "my_script", to: "my_script.js", preload: true
config/initializers/assets.rb
에서 (gem과 함께 제공된 js 파일 추가):Rails.application.config.assets.precompile += %w( jquery3.min.js jquery_ujs.js bootstrap.min.js popper.js )
application.js
:import "jquery";
import "jquery_ujs";
import "@popperjs/core";
import "bootstrap";
import "@fortawesome/fontawesome-free";
import "my_script";
custom.scss
:body {
background-color: #888;
}
my_script.js
에서:// Test if jquery is loaded by typing $.fn.jquery in the console as per
// https://stackoverflow.com/questions/6973941/how-to-check-what-version-of-jquery-is-loaded/26674265#26674265
const popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]')
const popoverList = [...popoverTriggerList].map(popoverTriggerEl => new bootstrap.Popover(popoverTriggerEl))
중요 사항
config.assets.precompile
의 assets.rb
에 추가해야 하는 유일한 경우는 gem에서 JavaScript를 추가하려는 경우입니다. 즉, ./bin/importmap pin
명령을 사용하여 JavaScript 파일을 추가할 때 assets.rb
에 아무것도 추가할 필요가 없습니다.pin "my_script", to: "my_script.js", preload: true
을 importmap.rb에 추가하고 lineimport "my_script.js"
을 application.js에 추가합니다. importmap.rb가 아닌 application.js 파일에 사용자 정의 JavaScript 파일을 추가하면 앱이 개발 모드에서 작동할 수 있지만 프로덕션 모드에서는 JavaScript 파일이 로드되지 않습니다. 부트스트랩과 JS가 예상대로 작동하는지 확인하기 위한 테스트
$ rails g controller home index
app/views/home/index.html.erb
에 Bootstrap 모달 구성 요소를 추가합니다.<div class="container">
<div class="row">
<div class="col-md-4 mt-4">
<i class="fa-solid fa-house fa-2xl mx-3"></i>
<i class="fa-solid fa-plane fa-2xl mx-3"></i>
<i class="fa-solid fa-martini-glass fa-2xl mx-3"></i>
</div>
<div class="col-md-8 mt-4">
<button type="button" class="btn btn-lg btn-danger" data-bs-toggle="popover" data-bs-title="Popover title" data-bs-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>
</div>
</div>
<div class="row mt-4">
<div class="col-md-8">
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="top" data-bs-content="Top popover">
Popover on top
</button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="right" data-bs-content="Right popover">
Popover on right
</button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="bottom" data-bs-content="Bottom popover">
Popover on bottom
</button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="left" data-bs-content="Left popover">
Popover on left
</button>
</div>
</div>
</div>
$.fn.jquery
이 문서 작성 시점의 jQuery 버전 3.6.0을 반환해야 합니다.
예제 앱 링크: https://github.com/overdrivemachines/bootstrap-rails7
Reference
이 문제에 관하여(Bootstrap 5 및 Font Awesome 6을 Rails 7에 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/overdrivemachines/add-bootstrap-5-and-font-awesome-6-to-rails-7-31b3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)