2013-01-08 64 views
1

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

这里是我的建造轮廓:

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.jsdijit/_base/typematic.jsdijit/typematic.jsdijit/_base/wai.jsdijit/_base/window.js

my/Tree/Radio延伸dijit/Tree,所以我假设大量的文件的以上是正在由dijit.Tree自动加载的dijit基础文件。但是,构建工具当然应该解决这样的依赖关系,并将它们包含在“构建”文件中?

我正在使用Dojo 1.8.3。

回答

2

dojo/fx,它会动态查找的Toggler与评论

use indirection so modules not rolled into a build 

不知道为什么,但如果添加到dojo/fx/Toggler构建脚本的include,它不应该让更多的XHR请求。

编辑:显然dijit/Widgetdijit/_base有类似之处,所以你也想把它添加到includes。

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

+0

Thanks!在配置文件中添加'dijit/_base'和'dojo/fx/Toggler'已经删除了所有这些额外的请求,所以我接受了这个答案。唯一仍然分开加载的是'my/Form.js'(即使它在构建中列出),所以如果你有任何想法,将不胜感激。 –

+0

我没有看到任何与你发布的内容脱颖而出的东西。我会查看构建日志,看看是否有可能不包含它的原因。 –