-1

重いjavascriptを使用して、html5でかなり複雑なアプリケーションを作成します。これで私は回すことができるいくつかのオブジェクトを作る必要があります。しかし、@importfoobar.jsのようなものはないので。

次に、HTMLページにスクリプトが読み込まれると、すべてのスクリプトが相互にアクセスできると思いますか?

私は(ここで) ajaxが別の.jsファイル内から.jsファイルをロードできることを読みました。しかし、私はこれが私が必要なものだとは思いませんか?

事前に感謝し、必要に応じて詳細に入ることができます。

4

3 に答える 3

2

私たちのプロジェクトでは、次のことを行います。プロジェクトをFooと呼び、その中にBarというモジュールがあるとします。

次に、Foo名前空間に相当するものを定義するFoo.jsというファイルを宣言します。

Foo = (function(){
    return {
        };
})();

次に、Barモジュールのコードを含むFoo.Bar.jsというファイルを作成します。

Foo.Bar = (function(){
    // var declarations here that should be invisible outside Foo.Bar
var p, q;   
    return {            
        fun1 : function(a, b){
            // Code for fun1 here
        },      
        fun2 : function(c) {
            // Code for fun2 here
        }            
    } // return 
})();

すぐに実行され、に割り当てられたオブジェクトを返す関数であることに注意してくださいFoo.Bar。のようなローカル変数は、クロージャー内にあるために使用できますが、外部では表示されpませんqfun1fun2Foo.Bar

Foo.Barの関数は、オブジェクトなどのコンストラクターにすることができます。

これで、HTMLに次のように両方のファイルを含めることができます。

<script type="text/javascript" src="Foo.js"></script>    
<script type="text/javascript" src="Foo.Bar.js"></script>

Foo.Barその結果、メインHTMLファイルのJavaScriptでの関数を問題なく呼び出すことができます。

于 2012-07-05T06:21:19.110 に答える
1

モジュールパターンを確認する必要があります: http ://www.adequatelygood.com/2010/3/JavaScript-Module-Pattern-In-Depth/

ここでは、JavaScriptでモジュラーコードを作成するための代替案、コードを保護し、APIとデータをそれらの間で共有する方法について説明します。

また、AMDの使用を検討する必要があります。Require.jsは非常に人気がありますが、私はこれにhead.jsを好む傾向があります。これらは、ファイル内のコードを構造化する方法にいくつかの要件を課していることを覚えておいてください。個人的には、ページの下部に含まれている連結および縮小されたファイルと比較して、それは価値がないと思います。

于 2012-07-05T06:11:37.293 に答える
1

次に、HTMLページにスクリプトが読み込まれると、すべてのスクリプトが相互にアクセスできると思いますか?

はい。

于 2012-07-05T06:12:11.973 に答える