Rails 3.1에서 "페이지별" JavaScript 코드를 어디에 배치합니까?
질문:
Rails 3.1에서 //= require_tree .로 인해 모든 JavaScript가 단일 파일로 병합될 때 모든 페이지에서 실행되지 않고 페이지별 JavaScript 코드를 어떻게 포함할 수 있습니까? 코드 충돌을 방지하고 수동 스크립트 태그의 사용을 피할 수 있습니까?
답변:
컨트롤러별 JavaScript:
Rails는 컨트롤러별 자산 파일을 통해 이에 대한 솔루션을 제공합니다. 예를 들어 ProjectsController에는
<%= javascript_include_tag params[:controller] %> <%= stylesheet_link_tag params[:controller] %>
Divs의 기능 래핑:
대체 접근 방식은 고유 ID 또는 클래스를 사용하여 div 태그에 기능을 래핑하는 것입니다. . JavaScript 코드는 이러한 요소가 있는지 확인하고 그에 따라 실행하여 의도한 페이지에서만 실행되도록 할 수 있습니다. 이를 통해 페이지 콘텐츠에 따라 선택적으로 포함될 수 있는 모듈식 JavaScript 코드가 가능해집니다.코드 충돌 방지:
네임스페이스 접두사 또는 모듈 패턴을 사용하면 코드 충돌이 발생할 수 있습니다. 피하십시오. 예를 들어 특정 페이지에 대한 코드는 다음으로 래핑될 수 있습니다.(function() { var PageSpecificCode = {}; // ... })();
수동 스크립트 태그 제거:
위 접근 방식을 사용하면 수동 스크립트 태그가 필요합니다. 개별 페이지에서는 제거됩니다. JavaScript 코드는 application.js 매니페스트 파일과 컨트롤러별 자산 파일을 통해 중앙 집중화 및 관리될 수 있어 더욱 깔끔하고 효율적인 코드 구성을 제공합니다.위 내용은 수동 스크립트 태그 없이 Rails 3.1에 페이지별 JavaScript를 포함하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!