1

私たちの Dojo システムでは、dojoConfig で次のように指定されています。

packages: [{
    name: "myWidgets",
    location: "/js/libs/widgets"
}]

そのため、require ステートメントで行う必要があるのは、次のようなことだけです。

 require(["myWidgets/myCalendarWidget"....

問題は、ビルドを実行すると、この dojoConfig が利用できず、「myWidgets」がビルド プロファイルに従って定義されていないため、多数の依存関係エラーが発生することです。

ここで、ビルド プロファイルにもパッケージ ブロックを追加しようとしましたが、その最終結果は実際の「myWidgets」パッケージを作成することであり、これは望ましくありません。

では、ビルドに「myWidgets」エイリアスの定義を表示させながら、ビルド出力の最終結果を通常のファイル構造 (つまり、/js/libs/widgets) に反映させる方法はありますか? ビルド プロファイルの defaultConfig 要素でこれらのパス エイリアスを定義しようとしましたが、どちらも機能しません。

4

1 に答える 1

1

プロファイルを使用している場合は、プロファイルでパッケージを指定できます

/util/buildscripts:./build.sh profile=../../../myProfile.js

http://dojotoolkit.org/reference-guide/1.8/build/buildSystem.html#profile-basics

dojoConfig を保持する JavaScript ファイルを指定することもできます。

/util/buildscripts:./build.sh --dojoConfig ../build/examples/dojoConfig.js

http://dojotoolkit.org/reference-guide/1.8/build/buildSystem.html#using-a-package-configuration


あなたのコメントに答えてください。パスは dojo.js からの相対パスです。

var dojoConfig = {
    parseOnLoad: true,
    isDebug: true,
    locale: 'en-us',
    paths: {
        "evf":      "../../evf"
    }
};

私のディレクトリ構造は次のようになります

js/dojo-1.8.0
  dijit
  dojo <-- contains dojo.js
  dojox
  util
js/evf
  myCustomWidget.js 
于 2012-10-09T12:17:32.423 に答える