LABjs (v2.0.3) を使用して javascript ファイルをロードし、指定された順序で実行する非常に単純な例 (実際のプロジェクトから適応) を作成しました。以下にコードを貼り付けます。
- testLAB.js は、events.js を待機する mainCanvas.js を待機するため、アラートの順序は「events.js」「mainCanvas.js」「testLAB.js」になると予想されます。
- ただし、通常、「testLAB.js」「mainCanvas.js」「events.js」という逆の順序で取得します。
- ときどき「testLAB.js」「events.js」「mainCanvas.js」が出てきます。
誰でも説明できますか?完全な例は、ここから
ダウンロードできます。
編集: node.js とhttp-server モジュールを使用してこれらのページをローカルで提供しています (ローカルでも試してみたい場合)
ファイル: index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test lab.js</title>
<script src="js/lib/LAB.js"></script>
<script src="js/app/testLAB.js"></script>
</head>
<body>
</body>
</html>
ファイル: js/app/testLAB.js
$LAB.setGlobalDefaults({
BasePath: "/js/",
Debug:true
});
$LAB
.script("lib/underscore.min.js")
.script("app/mainCanvas.js").wait(function(){
alert("testLAB.js");
});
ファイル: js/app/mainCanvas.js
$LAB
.script("lib/jquery.js").wait()
.script("lib/underscore.min.js")
.script("app/events.js")
.wait(function() {
alert("mainCanvas.js");
});
ファイル: js/app/events.js
$LAB
.script("lib/jquery.js")
.script("lib/underscore.min.js")
.wait(function() {
alert("events.js");
});