Javascript 如何在dojo构建中包含gridx和每个依赖项

Javascript 如何在dojo构建中包含gridx和每个依赖项,javascript,dojo,dojo.gridx,Javascript,Dojo,Dojo.gridx,我在Dojo构建中有大量依赖项,即使在构建之后,这些依赖项仍然由HTTP请求加载。我有我的应用程序的特定依赖项: "dijit/_base", "dijit.form.TimeTextBox", "dijit/Dialog", "dijit/DropDownMenu", "dijit/focus", "dijit/form/Button", "dijit/form/CheckBox", "dijit/form/ComboBox", "dijit/form/ComboButton", "dijit

我在Dojo构建中有大量依赖项,即使在构建之后,这些依赖项仍然由HTTP请求加载。我有我的应用程序的特定依赖项:

"dijit/_base",
"dijit.form.TimeTextBox",
"dijit/Dialog",
"dijit/DropDownMenu",
"dijit/focus",
"dijit/form/Button",
"dijit/form/CheckBox",
"dijit/form/ComboBox",
"dijit/form/ComboButton",
"dijit/form/DropDownButton",
"dijit/form/FilteringSelect",
"dijit/form/MultiSelect",
"dijit/form/NumberSpinner",
"dijit/form/Select",
"dijit/form/SimpleTextarea",
"dijit/form/TextBox",
"dijit/layout/BorderContainer",
"dijit/layout/ContentPane",
"dijit/layout/LayoutContainer",
"dijit/Menu",
"dijit/MenuItem",
"dijit/ProgressBar",
"dijit/registry",
"dijit/Widget",

"dojango.dojango",

"dojo.data.ItemFileReadStore",
"dojo.date.locale",
"dojo.dnd.Source",
"dojo.parser",

"dojo/_base",
"dojo/_base/array",
"dojo/_base/declare",
"dojo/_base/Deferred",
"dojo/_base/event",
"dojo/_base/kernel",
"dojo/_base/window",
"dojo/_base/xhr",
"dojo/data/ObjectStore",
"dojo/dom",
"dojo/dom-construct",
"dojo/dom-style",
"dojo/domReady",
"dojo/html",
"dojo/json",
"dojo/keys",
"dojo/mouse",
"dojo/node",
"dojo/NodeList-manipulate",
"dojo/on",
"dojo/parser",
"dojo/query",
"dojo/ready",
"dojo/request",
"dojo/request/node",
"dojo/request/registry",
"dojo/store/JsonRest",
"dojo/store/Memory",
"dojo/store/Observable",
"dojo/store/util/QueryResults",
"dojo/when",
"dojo/window",

"dojox.data.QueryReadStore",
"dojox/charting/action2d/Magnify",
"dojox/charting/action2d/MoveSlice",
"dojox/charting/action2d/Tooltip",
"dojox/charting/axis2d/Default",
"dojox/charting/Chart",
"dojox/charting/Chart2D",
"dojox/charting/DataChart",
"dojox/charting/plot2d/Grid",
"dojox/charting/plot2d/Lines",
"dojox/charting/plot2d/Markers",
"dojox/charting/plot2d/Pie",
"dojox/charting/StoreSeries",
"dojox/charting/themes/Claro",
"dojox/charting/widget/Chart2D",
"dojox/charting/widget/Legend",
"dojox/data/JsonRestStore",
"dojox/form/Uploader",
"dojox/gfx/utils",
"dojox/grid/DataGrid",
"dojox/lang/functional/object",
"gridx/core/model/cache/Async",
"gridx/Grid",
"gridx/modules/ColumnResizer",
"gridx/modules/extendedSelect/Cell",
"gridx/modules/extendedSelect/Row",
"gridx/modules/Filter",
"gridx/modules/filter/FilterBar",
"gridx/modules/HeaderMenu",
"gridx/modules/NestedSort",
"gridx/modules/Pagination",
"gridx/modules/pagination/PaginationBar",
"gridx/modules/select/Row",
"gridx/modules/SingleSort",
"gridx/modules/VirtualVScroller",
"gridx/support/exporter/toCSV"
但即使知道所有这些依赖项,我似乎也无法得到一个包含我所需要的所有依赖项的构建。例如,这是chrome调试器的一个片段:

如何将所有内容编译成一个js文件?或者它不是这样工作的?我对dojo的需求是如何工作的感到非常困惑。它还尝试将所有css文件拉入。有没有办法把这些css文件编译成一些东西,这样我就没有30个css文件了

如果你需要更多信息,请告诉我。我使用Dojango来管理dojo交互,如果它改变了什么,但是构建过程是相同的,所以我很确定它不会改变。我的完整构建配置文件只是dojango的扩展,如下所示:

dependencies = {
    layers: [
        {
            name: "dojo.js",
            layerDependencies: [
                "../dijit/dijit.js"
            ],
            dependencies: [

                "chosen/Chosen",

                "dijit.dijit-all",
                "dijit/_base",
                "dijit.form.TimeTextBox",
                "dijit/Dialog",
                "dijit/DropDownMenu",
                "dijit/focus",
                "dijit/form/Button",
                "dijit/form/CheckBox",
                "dijit/form/ComboBox",
                "dijit/form/ComboButton",
                "dijit/form/DropDownButton",
                "dijit/form/FilteringSelect",
                "dijit/form/MultiSelect",
                "dijit/form/NumberSpinner",
                "dijit/form/Select",
                "dijit/form/SimpleTextarea",
                "dijit/form/TextBox",
                "dijit/layout/BorderContainer",
                "dijit/layout/ContentPane",
                "dijit/layout/LayoutContainer",
                "dijit/Menu",
                "dijit/MenuItem",
                "dijit/ProgressBar",
                "dijit/registry",
                "dijit/Widget",

                "dojango.dojango",

                "dojo.data.ItemFileReadStore",
                "dojo.date.locale",
                "dojo.dnd.Source",
                "dojo.parser",

                "dojo/_base",
                "dojo/_base/array",
                "dojo/_base/declare",
                "dojo/_base/Deferred",
                "dojo/_base/event",
                "dojo/_base/kernel",
                "dojo/_base/window",
                "dojo/_base/xhr",
                "dojo/data/ObjectStore",
                "dojo/dom",
                "dojo/dom-construct",
                "dojo/dom-style",
                "dojo/domReady",
                "dojo/html",
                "dojo/json",
                "dojo/keys",
                "dojo/mouse",
                "dojo/node",
                "dojo/NodeList-manipulate",
                "dojo/on",
                "dojo/parser",
                "dojo/query",
                "dojo/ready",
                "dojo/request",
                "dojo/request/node",
                "dojo/request/registry",
                "dojo/store/JsonRest",
                "dojo/store/Memory",
                "dojo/store/Observable",
                "dojo/store/util/QueryResults",
                "dojo/when",
                "dojo/window",

                "dojox.data.QueryReadStore",
                "dojox/charting/action2d/Magnify",
                "dojox/charting/action2d/MoveSlice",
                "dojox/charting/action2d/Tooltip",
                "dojox/charting/axis2d/Default",
                "dojox/charting/Chart",
                "dojox/charting/Chart2D",
                "dojox/charting/DataChart",
                "dojox/charting/plot2d/Grid",
                "dojox/charting/plot2d/Lines",
                "dojox/charting/plot2d/Markers",
                "dojox/charting/plot2d/Pie",
                "dojox/charting/StoreSeries",
                "dojox/charting/themes/Claro",
                "dojox/charting/widget/Chart2D",
                "dojox/charting/widget/Legend",
                "dojox/data/JsonRestStore",
                "dojox/form/Uploader",
                "dojox/gfx/utils",
                "dojox/grid/DataGrid",
                "dojox/lang/functional/object",
                "gridx/core/model/cache/Async",
                "gridx/Grid",
                "gridx/modules/ColumnResizer",
                "gridx/modules/extendedSelect/Cell",
                "gridx/modules/extendedSelect/Row",
                "gridx/modules/Filter",
                "gridx/modules/filter/FilterBar",
                "gridx/modules/HeaderMenu",
                "gridx/modules/NestedSort",
                "gridx/modules/Pagination",
                "gridx/modules/pagination/PaginationBar",
                "gridx/modules/select/Row",
                "gridx/modules/SingleSort",
                "gridx/modules/VirtualVScroller",
                "gridx/support/exporter/toCSV",
            ]
        }
    ],

    prefixes: [
        [ "dijit", "../dijit" ],
        [ "dojox", "../dojox" ],
        [ "dojango", "../../../dojango" ], // relative to the directory, where the dojo.js source file resides
        [ "gridx", "../../../gridx" ],
        [ "app", "../../../app" ],
        [ "chosen", "../../../chosen" ]
    ]
};
我的build命令基本上如下所示,尽管它是由dojango完成的:

 ./build.sh dojango_optimized.profile.js action=release optimize=shrinksafe cssOptimize=comments

您可以发布您的构建配置文件和用于构建的命令吗?编辑以包含这两者。感谢大家的关注:)在回答这个问题:“如何将所有内容编译成一个js文件?”时,我遇到了Dylan的回答。如果你还没看过,值得一看。Dylan说:“Dojo的构建系统不会试图删除你所在层之外的所有文件,它只是创建优化的层文件。它仍然保留源代码树的完整副本,以防你有其他文件(JS、CSS、图像文件等)不属于你的层。”是的,我理解,问题是我的图层应该包含我需要的所有东西。我可以理解它是否加载了我在构建文件中声明的内容之外的内容(这很好),但它加载的是我甚至在层中声明的文件(例如,上面的window.js)