私はrequirejsを使用してコードを管理するJavaScriptプロジェクトに取り組んでいます。私たちが作成した製品は、サード パーティの Web サイトで使用されるため、AMD 互換ライブラリが存在するとは想定できません。これを解決するために、ターゲット ファイルにアーモンドを含め、メイン モジュールを に公開しますwindow
。ビルドによって作成されたファイルは次のようになります。
(function() {
//Almond lib
//Our code
define('window-exposer', ['main-module'], function(mainModule) {
window.mainModule = mainModule;
});
require('window-exposer');
}());
サイト固有のコードがアクセスしようとすると、まだ設定されていないため、使用するサイトを構築するときにmainModule
エラーがスローされます。window.mainModule
モジュールが実際に初期化され、コードが機能する場合もあります。
window-exposer
が他の JavascriptCode の前に実行されることを保証する方法はありますか?