有没有办法构建包含来自包位置的单个文件的Dojo模块?

Dan*_*umb 6 javascript dojo build

我有一个小应用程序的以下构建配置文件:

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.. */
        }
    };
})();
Run Code Online (Sandbox Code Playgroud)

问题是这样的:我需要的只是由Dojo构建系统处理的lodash.min.js文件.遗憾的是,当您在配置文件中包含程序包定义时,构建系统会使用隐式值查看相关目录中的所有文件trees.你可以覆盖它(正如我在这里所做的那样)并添加一些ignore指令,但这很难看,让你可以忽略一些东西.什么我喜欢做的是肯定指示精确的文件(S),我很感兴趣,处理我的构建过程.

Dojo允许你这样做吗?文档在这方面有点不足,但是如果你能帮我找到一个能更清楚地解释这个问题的资源,那就太好了!

bis*_*hop 1

至少从 1.9 开始,我相信这是可以做到的:

// ... snip ...
{
    name:'lodash',
    location:'lodash',
    trees:[],
    dirs:[],
    files:[
        ["lodash.min.js"]
    ]
},
Run Code Online (Sandbox Code Playgroud)

这会显式列出文件,同时还会压缩隐式树和目录发现。

我的信念是基于粗略的审查util/build/discover.js——但当我阅读文档文件时,只应该支持。