IT Share you

Rails 애플리케이션의 Javascript Include Tag 모범 사례

shareyou 2020. 11. 30. 20:17
반응형

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 문서를 참조하세요.

참고 URL : https://stackoverflow.com/questions/390164/javascript-include-tag-best-practice-in-a-rails-application

반응형