수색…


소개

자산 파이프 라인은 JavaScript 및 CSS 자산을 연결하고 축소하거나 압축하는 프레임 워크를 제공합니다. 또한 이러한 자산을 CoffeeScript, Sass 및 ERB와 같은 다른 언어 및 전처리기에 쓸 수있는 기능을 추가합니다. 응용 프로그램의 자산을 다른 보석의 자산과 자동으로 결합 할 수 있습니다. 예를 들어, jquery-rails는 jquery.js의 사본을 포함하고 레일즈에서 AJAX 기능을 사용합니다.

갈퀴 작업

기본적으로 sprockets-rails 에는 다음과 같은 레이크 작업이 제공됩니다.

  • assets:clean[keep] : 컴파일 된 오래된 자산을 제거합니다.
  • assets:clobber : 컴파일 된 애셋을 제거합니다.
  • assets:environment : 자산 컴파일 환경로드
  • assets:precompile : config.assets.precompile 명명 된 모든 자산을 컴파일합니다.

매니페스트 파일 및 지시문

assets initalizer ( config/initializers/assets.rb )에는 미리 컴파일되도록 명시 적으로 정의 된 몇 개의 파일이 있습니다.

# Precompile additional assets.
# application.coffee, application.scss, and all non-JS/CSS in app/assets folder are already added.
# Rails.application.config.assets.precompile += %w( search.js )

이 예제에서 application.coffeeapplication.scss 는 '매니페스트 파일'이라고 불립니다. 이 파일은 다른 JavaScript 또는 CSS 자산을 포함하는 데 사용해야합니다. 다음 명령을 사용할 수 있습니다.

  • require <path> : Ruby의 require 와 유사한 require 지시어가 require . 경로의 파일에 대한 종속성을 선언하고 소스 파일 앞에 한 번만로드되도록하는 방법을 제공합니다.
  • require_directory <path> : 모든 파일이 단일 디렉토리에 있어야합니다. 중첩 된 디렉토리를 따르지 않으므로 path/* 와 유사합니다.
  • require_tree <path> : 디렉토리에있는 모든 중첩 된 파일이 필요합니다. 그것의 glob equivalent는 path/**/* 입니다.
  • require_self : 후속 require 지시문 앞에 현재 파일의 본문을 삽입합니다. 인덱스 파일이 다른 종속성이로드되기 전에 정의되어야하는 전역 스타일을 포함하는 것이 일반적 인 CSS 파일에 유용합니다.
  • stub <path> : 파일이 포함되지 않도록 제거합니다.
  • depend_on <path> : 파일을 포함하지 않고 파일에 대한 종속성을 지정할 수 있습니다. 이것은 캐싱 목적으로 사용됩니다. 종속성 파일을 변경하면 소스 파일의 캐시가 무효화됩니다.

application.scss 파일은 다음과 같습니다.

/*
 *= require bootstrap
 *= require_directory .
 *= require_self
 */

또 다른 예는 application.coffee 파일입니다. jqueryTurbolinks 를 포함하여 여기에 :

#= require jquery2
#= require jquery_ujs
#= require turbolinks
#= require_tree .

CoffeeScript를 사용하지 않고 일반 JavaScript를 사용하는 경우 구문은 다음과 같습니다.

//= require jquery2
//= require jquery_ujs
//= require turbolinks
//= require_tree .

기본 사용법

자산 파이프 라인을 사용하는 기본적인 두 가지 방법이 있습니다.

  1. 개발 모드에서 서버를 실행하면 서버가 자동으로 사전 처리되고 자산을 즉석에서 준비합니다.

  2. 프로덕션 모드에서는 애셋을 사전 처리, 버전 화 및 압축하고 컴파일하는 데이 메서드를 사용할 수 있습니다. 다음 명령을 실행하면됩니다.

    bundle exec rake assets:precompile



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow