프론트엔드가 모듈화되면 js도 모듈형 관리가 필요할 뿐만 아니라 html도 때로는 모듈형 관리가 필요합니다. 여기서는 requirejs를 통해 HTML 코드의 모듈식 개발을 구현하는 방법을 소개하겠습니다.
requirejs를 사용하여 html을 로드하는 방법
Reuqirejs에는 지정된 파일의 내용을 읽을 수 있는 텍스트 플러그인이 있으며, 읽은 내용은 텍스트입니다.
텍스트 플러그인 다운로드 방법
첫 번째 방법은 npm을 통해 다운로드할 수 있습니다:
npm 설치 requirejs/text
두 번째 방법은 공식 github에서 직접 다운로드할 수도 있습니다.
콘텐츠를 text.js에 직접 복사하면 됩니다.
텍스트 플러그인 설치 방법
requirejs의 main.js에서 jquery와 유사한 텍스트 플러그인의 종속성을 구성하면 됩니다. 일반 로딩 방법을 통해 로드할 수 있는지 확인하세요.
requirejs.config({ baseUrl: './', paths: { 'text':path+'/require/text', ... }, shim: { ... } });
은 baseUrl에 직접 배치할 수도 있습니다.
텍스트 사용 방법
대상 모듈에서 다음 구문을 따르세요.
define(function(require){ var html = require("text!html/test.html"); console.log(html); });
또는
define(["text!html/test.html"],function(html){ console.log(html); });
html 모듈화 개발은 어떻게 진행하나요?
위 내용을 읽고 나면 텍스트를 어떻게 사용하는지 이미 알지만, 프런트엔드 코드를 어떻게 구성하는지 아직 모르실 겁니다.
예를 들어주세요:
Blog Park의 웹사이트 페이지는 위 탐색에 따라 다른 페이지로 이동합니다. 단일 페이지에 있는 경우 원래 접근 방식은 탐색 버튼이 다른 div에 해당한다고 생각하기 쉽습니다. 해당 버튼을 클릭하면 해당 div가 숨겨집니다.
그러면 프런트엔드 코드는 다음과 같습니다.
<html> <body> <nav> 导航按钮1、导航按钮2、导航按钮3 </nav> <div style="display:block">按钮1对应的页面</div> <div style="display:none">按钮2对应的页面</div> <div style="display:none">按钮3对应的页面</div> </body> </html>
이러한 코드는 매우 지저분할 것이며 프런트엔드 HTML은 매우 길어질 것이므로 유지 관리에 도움이 되지 않습니다.
그런 다음 reuqirejs의 텍스트 플러그인을 사용하여 다음을 수행할 수 있습니다.
<html> <body> <nav> 导航按钮1、导航按钮2、导航按钮3 </nav> <div id="target"></div> </body> </html>
그런 다음 해당 모듈에서:
$('#target').html(require("text!目标按钮对应的页面.html"));
이렇게 하면 좀 더 캐주얼해질 것 같아요! 프론트엔드 코드도 모듈과 함께 효과적으로 관리할 수 있습니다!
그러나 이 메서드를 사용하면 Jquery에 바인딩된 이벤트가 무효화되므로 html() 메서드 다음에 이벤트를 다시 바인딩해야 합니다.
모듈 개발을 위해 HTML에서 Requirejs를 사용하는 방법에 대한 모든 관련 지식이 도움이 되기를 바랍니다.