requirejsおよびjavaScript API
-
27-10-2019 - |
質問
からサンプルプロジェクトを使用しています ここ.
私のサービスのクライアントにJavaScript APIを提供するために、モジュールから何らかの機能をエクスポートする必要があると仮定します。
しかし、私の.jsファイルの宣言は、requirejsの外には見えません!
次のブロックをjquery-require-sample/webapp/app.htmlに追加します。
<script type="text/javascript">
$(document).ready(function() {
$('body').alpha().beta();
});
</script>
失敗する: Uncaught TypeError:オブジェクト[オブジェクトオブジェクト]はメソッド「アルファ」がありません.
私がやりたいことをすることは可能ですか?
解決
あなたが提供したコードに基づいて、app.htmlの既存のスクリプトタグの後にコードを追加したと仮定します。あなたが見ているのはタイミングの問題だと思います。ページをロードしたら、 <head>
タグと次の順序でスクリプトタグが表示されます。
- 「要求」スクリプト
- あなたの新しいスクリプト
- アルファ
- ベータ
そのため、アルファとベータが実行される前にスクリプトを実行しています。その理由は、必要に応じて最初のスクリプトを処理するが、依存関係がすべて実行されるまでmain.jsの「肉」を実行しないためです(アルファとベータ)。
これが役立つことを願っています。コードの以下の変更は、何が起こっているかを示している可能性もあります。 SetimeOutは、AlphaとBetaにロードする機会を与えます。
<script type="text/javascript">
setTimeout(function(){
$(document).ready(function() {
$('body').alpha().beta();
});
}, 5000);
</script>
所属していません StackOverflow