0

私は dojo 1.8.3 をビルドしており、すべての dojo と自分の AMD コードを 1 つのレイヤーにまとめたプロファイルを使用しています。また、AMD 以外のライブラリ (history.js など) とポリフィルをそのまま同じファイルに含めたいと考えています。Dojoビルドシステムでこれを行うことは可能ですか?

現在のビルド プロファイル:

var profile = (function () {
var conf = {
    basePath: ".",
    layerOptimize: "closure",
    optimize: "closure",
    cssOptimize: "comments",
    mini: true,
    selectorEngine: "acme",

    defaultConfig: {
        hasCache: {
            "dojo-built": 1,
            "dojo-loader": 1,
            "dom": 1,
            "host-browser": 1,
            "config-selectorEngine": "acme"
        },
        async: 1
    },

    packages: [{
        name: "dojo",
        location: "./dojo"
    }, {
        name: "dijit",
        location: "./dijit"
    }, {
        name: "dojox",
        location: "./dojox"
    }, {
        name: "MyApp",
        location: "./MyApp"
    }, {
        name: "bootstrap",
        location: "./bootstrap"
    }],

    layers: {
        "dojo": {
            name: "dojo",
            include: [
                "dojo/dojo",
                "dojo/domReady",
                "MyApp/common",
                "MyApp/bootstrap"
            ]
        }
    }
}
return conf;
}());
4

1 に答える 1

1

ファイルをパッケージとして追加すると、Dojo は自動的にそれらをラップして組み込みます。これをパッケージセクションに追加しました:

{
    name: "libs",
    location: "./libs"
}

レイヤー定義を次のように変更しました。

"dojo": {
     name: "dojo",
     include: [
         "dojo/dojo",
         "dojo/domReady",
         "libs/history/native.history",
         "libs/base64/base64",
         "MyApp/common",
         "MyApp/bootstrap"
     ]
 }    

(base64 と native.history はプレーンな Javascript ライブラリです)

于 2013-04-29T04:17:10.257 に答える