Vite on Rails-7 설정
$ rails new vite-app --skip-javascript
--skip-javascript
는 다음 단계에서 conflicts을 피하기 위해 필요합니다. 부트스트랩/재단 사이트의 경우 자산 파이프라인이 도움이 되므로 --skip-asset-pipeline
가 적용되지 않습니다.패키지 추가
$ bundle add vite_rails
$ bundle exec vite install
참조: GitHub/vite_rails
gem "haml-rails" #=> optional (i love it!)
gem "sassc-rails" #=> unkomment this if you need the asset pipeline alongside vite
$ bundle install
자산 파이프라인
app/assets/stylesheets/application.scss
를 .scss
로 이름 바꾸기*= require_tree .
및 *= require_self
제거Vite 스타일시트
app/frontend/entrypoints/application.scss
$ yarn add sass
자산 파이프라인과 함께 로드되도록 레이아웃에 vite_stylesheet_tag(«+»)를 추가합니다.
= stylesheet_link_tag "application"
+ = vite_stylesheet_tag 'application.scss', media: :all // => extension .scss is necessary here
= vite_client_tag
= vite_javascript_tag 'application'
포먼 러너
Foreman이 설치되어 있는지 확인하십시오. gem만 설치하면 되며 Gemfile에는 항목이 없습니다.
RubyMine에서 참조
앱 실행
콘솔에서 Runner가 RubyMine에서
foreman start -f Procfile.dev
로 앱을 실행합니다.함정: 0.0.0.0/127.0.0.0이 아닌
localhost
로 앱을 호출합니다. 그렇지 않으면 브라우저가 vite dev 서버에 액세스할 수 없고 HMR이 작동하지 않습니다.=> http://localhost:5100에 앱이 표시되고 HMR(Hot Module Reloading)이 작동해야 하지만 프런트엔드 폴더 내의 파일에 대해서만 가능합니다. 확인: 파일을 수정하고 콘솔 출력을 확인합니다.
완전 핫 모듈 재장전(HMR)
$ yarn add --dev vite-plugin-full-reload
on
vite.config.ts
에 «+»가 있는 줄을 추가합니다. import {defineConfig} from 'vite'
import RubyPlugin from 'vite-plugin-ruby'
+ import FullReload from 'vite-plugin-full-reload'
export default defineConfig({
plugins: [
RubyPlugin(),
+ FullReload([
+ 'config/locales/*.yml',
+ 'locale/**/*',
+ 'app/views/**/*'
+ ], {delay: 0}),
],
})
서버를 다시 시작하십시오.
테스트 코드
스캐폴드 또는 두 개의 보기를 만들고 링크로 연결
=> HMR은 구성과 관련하여 뷰에서도 작동해야 합니다.
Reference
이 문제에 관하여(Vite on Rails-7 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/chmich/setup-vite-on-rails-7-f1i텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)