尽管使用了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
,{{ 1}},dijit/_base/typematic.js
,dijit/typematic.js
,dijit/_base/wai.js
。
dijit/_base/window.js
扩展my/Tree/Radio
,所以我假设上面的很多文件都是由dijit/Tree
自动加载的dijit基础文件。但是,构建工具当然应该解决这样的依赖关系并将它们包含在“构建”文件中吗?
我正在使用Dojo 1.8.3。
答案 0 :(得分:2)
在dojo/fx
中,它会使用评论
use indirection so modules not rolled into a build
不确定原因,但如果您将dojo/fx/Toggler
添加到构建脚本的include
,则不应发出额外的xhr请求。
编辑:显然dijit/Widget
执行与dijit/_base
类似的操作,因此您也希望将其添加到包含内容。