Rails 3.1 자산 파이프라인을 사용하여 조건부 CSS 로딩을 어떻게 구현할 수 있습니까?
조건부 CSS 로딩을 위해 Rails 3.1 자산 파이프라인 사용
Rails로 웹 애플리케이션을 구축할 때 CSS 파일을 선택적으로 렌더링해야 할 수 있습니다. 특정 조건을 기반으로 합니다. 이는 Rails 3.1 자산 파이프라인을 사용하여 달성할 수 있습니다.
기본적으로 application.css의 *= require_tree 명령에는 자산/스타일시트 디렉터리의 모든 CSS 파일이 포함됩니다. 그러나 파일을 조건부로 렌더링하려는 경우 원치 않는 결과가 발생할 수 있습니다.
한 가지 해결 방법은 application.css에서 각 CSS 파일을 개별적으로 수동으로 지정하고 부분 파일을 활용하여 나머지 파일을 조건부로 포함하는 것입니다. 그러나 이 방법은 번거롭고 유연성이 떨어질 수 있습니다.
더 효율적인 솔루션은 여러 매니페스트 파일을 활용하여 CSS 파일을 분리하는 것입니다. 관련 디렉토리로 구성하고 각 디렉토리에 대해 별도의 매니페스트 파일을 생성하면 특정 조건에 따라 파일을 쉽게 포함하거나 제외할 수 있습니다.
다음은 자산 디렉토리를 구성하는 방법에 대한 예입니다.
app/assets/stylesheets +-- all +-- your_base_stylesheet.css +-- print +-- blueprint +-- print.css +-- your_print_stylesheet.css +-- ie +-- blueprint + ie.css +-- your_ie_hacks.css +-- application-all.css +-- application-print.css +-- application-ie.css
해당 매니페스트 파일:
/** * application-all.css * *= require_self *= require_tree ./all */ /** * application-print.css * *= require_self *= require_tree ./print */ /** * application-ie.css * *= require_self *= require_tree ./ie */
마지막으로 애플리케이션 레이아웃을 업데이트합니다. file:
<%= stylesheet_link_tag "application-all", :media => "all" %> <%= stylesheet_link_tag "application-print", :media => "print" %> <!--\[if lte IE 8\]--> <%= stylesheet_link_tag "application-ie", :media => "all" %> <!--\[endif\]-->
config/environments/production.rb:
config.assets.precompile += %w( application-all.css application-print.css application-ie.css )
에서 새 매니페스트 파일을 미리 컴파일하는 것을 잊지 마세요. 이 구조를 사용할 때 다음 사항을 확인해야 합니다. CSS 파일의 모든 이미지 참조는 SASS 도우미 image-url()을 사용하여 전체 경로로 한정되거나 동일한 디렉터리 구조를 따르도록 이동됩니다.
위 내용은 Rails 3.1 자산 파이프라인을 사용하여 조건부 CSS 로딩을 어떻게 구현할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

새로운 프로젝트가 시작될 때, Sass 컴파일은 눈을 깜박이게합니다. 특히 BrowserSync와 짝을 이루는 경우 기분이 좋습니다.

이번 주에 플랫폼 뉴스 라운드 업 RONDUP, Chrome은로드에 대한 새로운 속성, 웹 개발자를위한 접근성 사양 및 BBC Move를 소개합니다.

이것은 처음으로 HTML 요소를보고 있습니다. 나는 그것을 잠시 동안 알고 있었지만 아직 스핀을 위해 그것을 가져 갔다. 그것은 꽤 시원하고 있습니다

구매 또는 빌드는 기술 분야의 고전적인 논쟁입니다. 신용 카드 청구서에 라인 항목이 없기 때문에 물건을 구축하는 것이 저렴할 수 있지만

한동안 iTunes는 팟 캐스팅에서 큰 개 였으므로 "Podcast 구독"을 링크 한 경우 다음과 같습니다.

이번 주에 타이포그래피를 검사하기위한 편리한 북마크 인 Roundup, JavaScript 모듈과 Facebook의 Facebook 등을 어떻게 가져 오는지 땜질하기 위해 대기하는 편리한 북마크 인 Roundup과 Facebook의

사이트에서 방문자 및 사용 데이터를 추적하는 데 도움이되는 분석 플랫폼이 많이 있습니다. 아마도 널리 사용되는 Google 웹 로그 분석
