不足しているモジュールをロードするために、YUIを使用してuse(...)メソッドで指定し、コールバックを渡して、すべてのモジュールがロードされたときにアクションを実行します。。私の場合、これはいくつかの問題を提起します。具体的には、クラスがコールバック内に作成されていれば、現在のファイルの外にクラスをインスタンス化することは不可能です(「new」が発生するまでに準備ができているという保証はありません)。私の回避策は、特定のメソッド呼び出しをYUI.use(...)でラップすることでしたが、これはオブジェクトを拡張する際に別の問題を引き起こします。理想的には、自分のコードが実行される前にすべてのモジュールを同期して読み込むことです。以下は現在
が失敗した
のコードです(編集:ロールアップを許可)。YUI3 - モジュールを同期してロードするには?
HTML:
<html>
<head>
<!-- Built using YUI dep configurator -->
<!-- JS -->
<script type="text/javascript" src="http://yui.yahooapis.com/3.3.0/build/yui/yui-min.js"></script>
<script type="text/javascript" src="http://yui.yahooapis.com/3.3.0/build/oop/oop-min.js"></script>
<script type="text/javascript" src="http://yui.yahooapis.com/3.3.0/build/event-custom/event-custom-base-min.js"></script>
<script type="text/javascript" src="http://yui.yahooapis.com/3.3.0/build/event/event-base-min.js"></script>
<script type="text/javascript" src="http://yui.yahooapis.com/3.3.0/build/dom/dom-min.js"></script>
<script type="text/javascript" src="http://yui.yahooapis.com/3.3.0/build/dom/dom-style-ie-min.js"></script>
<script type="text/javascript" src="http://yui.yahooapis.com/3.3.0/build/pluginhost/pluginhost-min.js"></script>
<script type="text/javascript" src="http://yui.yahooapis.com/3.3.0/build/node/node-min.js"></script>
<script type="text/javascript" src="http://yui.yahooapis.com/3.3.0/build/event/event-base-ie-min.js"></script>
<script type="text/javascript" src="http://yui.yahooapis.com/3.3.0/build/event/event-delegate-min.js"></script>
<!-- My JS -->
<script type="text/javascript" src="test.js"></script>
<script type="text/javascript">
var test = new MyNS.ExtendingClass();
</script>
</head>
<body>
<h1>Hello World!</h3>
</body>
</html>
test.js
3210このコードは動作するようになりましたが、それを実現するために10(!!!)のjsファイルが必要です。すべての依存関係がを動的にロードすることを確認する方法はありますかとの前に私のコードが実行されますか?そうでしょう、そう?
パッケージャを使用して、これらのファイルのすべてを1つにパッケージ化するか、またはすべてを非同期にする – Raynos