6

小さなアプリ用に次のビルド プロファイルがあります。

var profile = (function(){

    var copyOnly = function(filename, mid){
        /* ..snip.. */
    };

    return {
        basePath: "../../src",
        releaseDir: "../dist",
        releaseName: "lib",
        action: "release",

        packages: [
        'dojo',
        'dijit',
        //'dojox',
        'amd',
        {
            name: 'lodash',
            location: 'lodash',
            trees: [
                [".", ".", /(\/\.)|(~$)|(vendor|test)/]
            ]
        },
        {
            name: 'd3',
            location: 'd3',
            main: 'd3.min',
            trees: [
                [".", ".", /(\/\.)|(~$)|(src|lib|test)/]
            ]
        },
        { name: 'app', location: 'app' }
    ],

        layers: {
            "dojo/dojo": {
                include: [ "dojo/dojo", "amd/d3","amd/gmaps",
                    "app/main", "app/run" ],
                customBase: true,
                boot: true
            }
        },

        resourceTags: {
            /* ..snip.. */
        }
    };
})();

問題は、Dojo ビルド システムによって処理される lodash.min.js ファイルだけです。残念ながら、プロファイルにパッケージ定義を含めると、ビルド システムは暗黙的な値を使用して、関連するディレクトリ内のすべてのtreesファイルを調べます。これを上書きして (ここで行ったように)、いくつかの無視ディレクティブを追加できますが、これは見苦しく、何かが失われる可能性があります。私がやりたいことは、ビルド プロセスの処理に関心のあるファイルを正確に肯定的に示すことです。

Dojo はこれを許可しますか? この分野のドキュメントは少し不足していますが、これをより明確に説明するリソースを見つけるのを手伝ってくれれば、それは素晴らしいことです!

4

1 に答える 1

1

少なくとも 1.9 では、これができると思います:

// ... snip ...
{
    name:'lodash',
    location:'lodash',
    trees:[],
    dirs:[],
    files:[
        ["lodash.min.js"]
    ]
},

これにより、ファイルが明示的に一覧表示されますが、暗黙的なツリーとディレクトリの検出も無効になります。

util/build/discover.jsここでの私の信念は、 --の大雑把なレビューに基づいていますが、ドキュメントファイルのみをサポートする必要があります。

于 2013-10-25T12:11:35.840 に答える