반응형
Rails 애플리케이션의 Javascript Include Tag 모범 사례
<head>
ERb 템플릿 에서 javascript 파일을 호출해야한다고 가정 해 보겠습니다. 내 본능은 평소대로하는 것입니다.
<head>
<%= javascript_include_tag :defaults %> <!-- For example -->
</head>
내 응용 프로그램의 레이아웃에서. 물론 문제는 이러한 자바 스크립트 파일이 페이지를 보는 데 필요한지 여부에 관계없이 내 응용 프로그램의 모든 페이지에로드된다는 것입니다.
그래서 제가 궁금한 것은 특정 디렉토리에만있는 모든 ERb 템플릿의 헤더에 자바 스크립트를로드하는 좋은 방법이 있는지 여부입니다.
content_for를 사용 합니다.
예를 들어, 애플리케이션 레이아웃에 삽입 할 위치를 지정하십시오.
<head>
<title>Merry Christmas!</title>
<%= yield(:head) -%>
</head>
보기에서 전송합니다.
<%- content_for(:head) do -%>
<%= javascript_include_tag :defaults -%>
<%- end -%>
모든 연도 기본값을 포함하여 사용자의 브라우저에 캐시 될 수 있으므로 잘못된 것이 없다고 생각합니다.
페이지를 느리게로드 할 수 있으므로 헤더에 javascript를 추가하지 않는 것이 좋습니다. 오히려 페이지 하단에 js를로드하면 더 빠릅니다. http://developer.yahoo.com/performance/rules.html#js_bottom
<body>
....
<%= yield(:js) -%>
</body>
보기에서 전송합니다.
<%- content_for(:js) do -%>
<%= javascript_include_tag :defaults -%>
<%- end -%>
일반적으로 레이아웃 파일에 다음이 있습니다.
<head>
<%= javascript_include_tag :defaults %> <!-- For example -->
<%= @extra_head_content %>
</head>
그리고 뷰에서 :
<% (@extra_head_content ||= "") += capture do %>
<%= other_content %>
<% end %>
#capture에 대한 API 문서를 참조하세요.
반응형
'IT Share you' 카테고리의 다른 글
Swift에서 두 사전을 어떻게 비교합니까? (0) | 2020.11.30 |
---|---|
프로그래밍 방식으로 C ++ 배열의 크기를 결정합니까? (0) | 2020.11.30 |
Java MessageFormat에서 중괄호를 이스케이프 할 수 있습니까? (0) | 2020.11.30 |
LINES 및 COLUMNS 환경 변수가 스크립트에서 손실 됨 (0) | 2020.11.30 |
C ++에서 정적 const 멤버를 초기화하는 방법은 무엇입니까? (0) | 2020.11.30 |