5

次のフォルダー構造があります。

->カスタム

  • チャート
    • ...JSファイル
  • 強化する
    • ...JSファイル
  • 全般的
    • ...JSファイル

->lib

  • jquery
  • jquery.ui

jquery-1.7.2.js
requirejs-1.0.7.js
order.js

スクリプトタグ内でJSファイルを呼び出し、そのファイルから関数を呼び出すという従来の方法でJSファイルを参照するascx制御ファイルを多数含む.NETアプリケーションがあります。

問題は、次のことができるように Require JS をどのように実装する必要があるか (または実装できるか) です。

1)すべての画像、css、およびhtmlがロードされた後、JSファイルを最後に呼び出します...

2) コードをモジュール化する AMD の概念を使用する

各 aspx ファイル内には最大 5 つの ascx ファイルがあり、一部のファイルには ascx コントロールが含まれていることに注意してください。多くの ascx ファイルには JavaScript が埋め込まれており、多くの .master ページにも JavaScript ファイル参照が含まれています。

Web サイトの構造を変更することができない (サイトがかなり大きいため) ため、解決策を見つける必要があります。

ありがとう

4

2 に答える 2

0

それはリファクタリングと呼ばれます... v. 以前は設計されていなかったソリューションを適切に設計されたソリューションに書き直すという、時には苦痛を伴うプロセス。

于 2013-03-23T16:45:19.467 に答える
0

これは、.NET Web ブラウザー コントロールから "InvokeScript()" を呼び出すための答えです。しかし、Google が私をここに導いてくれました。

まず、通常どおりに新しい AMD モジュールを定義します。このモジュール内の関数として、「InvokeScript()」と呼ぶものは何でも入れます。

define (... {
    var mySpecialHandler = function() {
        // do stuff
    };
    return {
      mySpecialHandler: mySpecialHandler
    }
});

次に、それを使用するようになると、モジュールがロードされたときに最終的に設定されるグローバル名前空間を使用します。

require(['app'], function (app) {
    window.mySpecialHandler = app.mySpecialHandler;
});
于 2014-06-10T05:32:19.887 に答える