1

尽管使用了 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.js, dijit/_base.js, dijit/WidgetSet.js, dijit/_base/focus.js, dijit/_base/place.js, dijit/place.js, dijit/_base/popup.js, dijit/popup.js, dijit/BackgroundIframe.js, dijit/_base/scroll.js, dijit/_base/sniff.js, dijit/_base/typematic.js, dijit/typematic.js, dijit/_base/wai.js, dijit/_base/window.js.

my/Tree/Radioextends dijit/Tree,所以我假设上面的很多文件都是由dijit.Tree. 但是构建工具肯定应该解决这样的依赖关系并将它们包含在“构建”文件中吗?

我正在使用 Dojo 1.8.3。

4

1 回答 1

2

dojo/fx中,它会动态查找带有注释的 Toggler

use indirection so modules not rolled into a build

不知道为什么,但如果你添加dojo/fx/Togglerinclude你的构建脚本中,它不应该发出额外的 xhr 请求。

编辑:显然dijit/Widget与 做类似的事情dijit/_base,因此您也需要将其添加到包含中。

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

于 2013-01-14T18:24:32.620 回答