0

共通のプロジェクトに依存するさまざまなプロジェクトの require.config にいくつかの共通の値を提供する方法はありますか? 共通プロジェクトには基本的に、プロジェクトで使用できるすべてのサードパーティ ライブラリとカスタム ウィジェットが含まれています。

例えば。Proj1、Proj2、Proj3 の 3 つのプロジェクトがあります。彼らが使用する共通モジュールは「シェル」と呼ばれます。そして、require.configパスのセットと、3つすべてで使用されるルーター構成コードがあります。

require.config({
    baseUrl:'parentFolder/',
    paths:{
        /*  Third party libs  */
        jquery:'shell/lib/jquery/jquery-1.7.1',
        json2: 'shell/lib/json/json2',
        underscore:'shell/lib/underscore/underscore',
        backbone:'shell/lib/backbone/backbone',
        handlebars:'shell/lib/handlebars/handlebars',

        /* Routers */
        externalRouter:'shell/common/util/externalRouter',

        /* My custom widgets */          
        datePicker:'shell/common/widget/datePicker',
        treeView:'shell/common/widget/TreeView',
        videoPlayer:'shell/common/widget/VideoPlayer',
   }
});

上記の構成コードを 1 つの場所に維持し、3 つのプロジェクトが独自の require.config でそれを使用して、新しい構成パラメーターを追加できるようにしたいと考えています。

どうすればこれを達成できますか?

4

1 に答える 1

0

これはさまざまな方法で実現できますが、おそらく最も簡単な方法は、RequireJS を使用すると、ロードrequire前に呼び出されるグローバル変数として構成オブジェクトを定義しrequire.js、起動時に値を自動的に適用できるという事実を活用することです。

したがって、一般的な構成を次のようなプレーンな JavaScript ソース ファイルに入れます。

//common-config.js
require = {
    baseUrl:'parentFolder/',
    paths:{
        jquery:'shell/lib/jquery/jquery-1.7.1',
    }
};

そして、 require.jsのにページに含めます。

<script src="common-config.js"></script>
<script src="require.js" data-main="main"></script>

require.configその後、通常どおり、アプリケーション固有の構成を使用してメイン モジュールで再度呼び出すことができます。baseUrlオプションを定義すると、モジュールはそのベース URL に対して相対的に参照されるため、それに応じて属性mainを調整する必要があることに注意してください。data-main

この機能のドキュメントはこちらです。

于 2013-02-07T12:06:40.803 に答える