Modernizr과 yepnope.js를 사용하여 전체 비동기 스크립트를로드하는 중입니다. 비동기 스크립트로드를 사용하기 위해 애플리케이션의 구조를 어떻게 적용 할 수 있는지 궁금합니다.JavaScript 파일의 구조와 Modernizr/yepnope
는 지금 구조는 다음과 유사합니다
...
<head>
<script src=jquery.js></script>
<script src=plugin1.js></script>
<script src=plugin2.js></script>
<script src=plugin3.js></script>
<script src=global.js></script>
</head>
<body>
이 코드는 응용 프로그램 전체 require
D 인 header.php 파일에 있습니다. 문서 본문 섹션 (다른 PHP 파일), 나는 다음과 같은 몇 가지 자바 스크립트 파일이있을 수 있습니다 :
$(document).ready(function() {
$('.searchDate').myCoolPlugin({ /* some options */ });
});
:
는...
<script src=moduleA.js></script>
<script src=someScripts.js></script>
</html>
여기 moduleA.js 및 someScripts.js가 포함 할 수 있습니다 무엇의 간단한 예입니다 그리고 someScripts.js는 : 나는 모더 나이저를 사용하고있는 경우
$(document).ready(function() {
$('#departureDate, #arrivalDate').myCoolPlugin({ /* some options */ });
});
, 그 페이지의 상단에 나는 다른 플러그인 스크립트를 제거하는 것이며, global.js 내가 쓸 것 :
을Modernizr.load([
{
test: $.fn.myCoolPlugin,
nope: 'plugin1.js',
complete: function() {
$(document).ready(function() {
$('.filterDates').myCoolPlugin();
}
}
}
]);
moduleA.js 및 someScripts.js가 실행될 때까지 myCoolPlugin이로드되었음을 어떻게 보장합니까? Modernizr.load()
, 그 파일에 플러그인 초기화를 래핑 할 수 있지만 그 코드의 불필요한 중복 것처럼 보입니다.