0
//main.js
    require.config({
        baseUrl: '../Scripts/lib/',
        paths: {
            'jquery': 'jquery-2.0.0',
        }
    });

define(['jquery', '../test1'], function ($, object) {
    $(document).ready(function () {
        $('#button').bind('click', function () {
            object.getsomething();
        });
    });
});
//

//main1.js
    require.config({
        baseUrl: '../Scripts/lib/',
        paths: {
            'jquery': 'jquery-2.0.0',
        }
    });

define(['jquery', '../test1'], function ($, object) {
    $(document).ready(function () {
        $('#button').bind('click', function () {
            object.getsomething2();
        });
    });
});
//
//test1.js
define(function () {
    return {
        getsomething: function(){
            $('#button').css({'background-color':'#000'})
        },
        getsomething2: function(){
            $('#button').css({'background-color':'#000'})
        }
    }
     //return shit;
});
//

//Default1.aspx
<script data-main="<%: ResolveUrl("~/Scripts/main.js") %>" src="<%: ResolveUrl("~/Scripts/lib/require.js") %>"></script>

//Default2.aspx
<script data-main="<%: ResolveUrl("~/Scripts/main1.js") %>" src="<%: ResolveUrl("~/Scripts/lib/require.js") %>"></script>

jqueryを使用するすべてのページでrequire.configを宣言する必要がありますか? 別のページで main.js を使用するために共有できませんか? 私はちょっと迷ってしまいました。require.config をすべてのページで共有すると思いました。各ページには独自の js が必要です。requirejs は必要なものを置くのに役立ちます。 require.config? Google で検索しても、複数のページとスクリプトで使用する方法についてまだ決心できません。頭をすっきりさせるためのガイドラインが必要です

更新:1

//main.js
    require.config({
        baseUrl: '../Scripts/lib/',
        paths: {
            'jquery': 'jquery-2.0.0',
        }
    });
});
//

//Scripts/script1.js
define("main",['jquery', '../test1'], function ($, object) {
    $(document).ready(function () {
        $('#button').bind('click', function () {
            object.getsomething();
   });
});
//


//Scripts/script2.js
define(['jquery', '../test1'], function ($, object) {
    $(document).ready(function () {
        $('#button').bind('click', function () {
            object.getsomething2();
    });
});

//test1.js
define(function () {
    return {
        getsomething: function(){
            $('#button').css({'background-color':'#000'})
        },
        getsomething2: function(){
            $('#button').css({'background-color':'#000'})
        }
    }
     //return shit;
});
//

//Default1.aspx
<script data-main="<%: ResolveUrl("~/Scripts/main.js") %>" src="<%: ResolveUrl("~/Scripts/lib/require.js") %>"></script>
<script src="./Scripts/script1.js">

//Default2.aspx
<script data-main="<%: ResolveUrl("~/Scripts/main.js") %>" src="<%: ResolveUrl("~/Scripts/lib/require.js") %>"></script>
<script src="./Scripts/script2.js">

私はすべてのチュートリアルとページをもう一度やり直しましたが、このようなコードが出てきました。このようなコードを書くのは正しいですか? しかし、ソースから外部スクリプトを削除しない限り、エラーが発生しました

4

2 に答える 2

2

RequireJS は通常、使用される各ページで構成呼び出しを必要とします。通常、デフォルトで問題を解決できる場合もありますが、多くの場合 (特に jQuery の場合)などを設定pathsする必要があるためです。shim

まず、2 つのファイルが必要なケースに遭遇したことはありませんmain.js。コード サンプルがほぼ同一のコードを示しているのに、その理由をお尋ねしてもよろしいですか?

で電話をかけないdefine()でくださいmain.js。モジュールは独自のファイルに存在し、セットアップ コードを呼び出すmain.js必要があります。require

ドキュメントをもう一度参照して、私が何を意味するかを確認してください。

2 つの異なるメイン ファイルが必要な場合 (ページ上で異なるモジュールを初期化したい場合)、異なる JS ファイルを使用してこれを行います。モジュールのセットが異なるpage1.js や page2.js などrequire。メインは、すべてのページにある共通モジュールの構成と読み込みに使用する必要があります。この答えは、そのプロセスに光を当てます

于 2013-05-22T14:34:13.510 に答える
0

いいえ、すべてのページで require.config を宣言する必要はありません。

于 2013-05-22T06:26:17.873 に答える