Asset pipeline

  • 먼저 Asset 이란 image, js, css 등 rails에 속하는 file들을 의미한다
  • Asset pipeline은 세가지의 역할을 하게 된다.
    • asset들을 precompile(이 과정에서 scss->css도 이뤄짐)
    • 여러개의 asset들을 합치고
    • 여러 asset들을 압축해서 요청 request를 줄이게 된다.
  • 개발자들은 app/assets를 주로 이용한다.

manifest

  • 레일즈 프로젝트를 만들게 되면 application.js / application.css 파일들을 디폴트로 만들어주게 된다. 이를 manifest파일이라한다.
  • directives를 통해 포함할 에셋들을 사용할 수 있게 된다.

사용할 때

  • 사용하는 것은 매우 쉽다. 사용하고 싶은 asset들을 모두 asset경로로 두기만 하면 된다.
  • 이미지를 불러올 때
background-image: url('/assets/5.png'); //이렇게 사용한다
background-image: url('/app/assets/images/5.png') // 이건 아님
  • helper method 를 사용할 때
audio_path("horse.wav")   # => /audios/horse.wav
audio_tag("sound")        # => <audio src="/audios/sound" />
font_path("font.ttf")     # => /fonts/font.ttf
image_path("edit.png")    # => "/images/edit.png"
image_tag("icon.png")     # => <img src="/images/icon.png" alt="Icon" />
video_path("hd.avi")      # => /videos/hd.avi
video_tag("trailer.ogg")  # => <video src="/videos/trailer.ogg" />
  • 꼭 application.js manifest를 이용하지 않아도 된다.
//test.js 파일을 새로 만들고
//= require test1
//= require test2
<!--해당 html파일에서 이렇게 하게 되면 test1, test2를 사용할 수 있게 된다.-->
<%= javascript_include_tag("test") %>

참조 : http://rorlab.org/rblogs/152