在Dojo构建中包含依赖项

时间:2013-01-08 12:19:50

标签: build dojo

尽管使用了Dojo构建系统,我的应用程序仍然包含大量的javascript文件,我希望这些文件可以被构建覆盖。

这是我的构建资料:

var profile = (function(){
    return {
        basePath: "./",
        releaseDir: "release",
        action: "release",
        selectorEngine: "acme",
        cssOptimize: "comments.keepLines",

        packages:[{
            name: "dojo",
            location: "dojo"
        },{
            name: "dijit",
            location: "dijit"
        },{
            name: "dojox",
            location: "dojox"
        },{
            name: "my",
            location: "my"
        }],

        layers: {
            "my/admin": {
                include: ['dojo/ready', 'dojo/dom', 'dojo/query', 'dojo/request/xhr', 'my/Form', 'my/Tree/Radio']
            }
        }
    };
})();

该应用仍在每个请求中包含以下JS文件:my/Form.js(即使这已在个人资料中列出),dojo/fx/Toggler.jsdijit/_base.jsdijit/WidgetSet.jsdijit/_base/focus.jsdijit/_base/place.jsdijit/place.jsdijit/_base/popup.jsdijit/popup.jsdijit/BackgroundIframe.jsdijit/_base/scroll.jsdijit/_base/sniff.js,{{ 1}},dijit/_base/typematic.jsdijit/typematic.jsdijit/_base/wai.js

dijit/_base/window.js扩展my/Tree/Radio,所以我假设上面的很多文件都是由dijit/Tree自动加载的dijit基础文件。但是,构建工具当然应该解决这样的依赖关系并将它们包含在“构建”文件中吗?

我正在使用Dojo 1.8.3。

1 个答案:

答案 0 :(得分:2)

dojo/fx中,它会使用评论

动态查找Toggler
use indirection so modules not rolled into a build

不确定原因,但如果您将dojo/fx/Toggler添加到构建脚本的include,则不应发出额外的xhr请求。

编辑:显然dijit/Widget执行与dijit/_base类似的操作,因此您也希望将其添加到包含内容。

http://trac.dojotoolkit.org/ticket/14262