4
我有一個dojo構建配置文件,它爲我的應用程序文件構建兩層 - 一層dojo/dojo圖層和另一圖層。Dojo構建配置文件沒有dojo圖層(> 1.7)
這一切工作正常,並在兩個「大」文件(main.js和dojo.js),其中包含所有必需的代碼。然而,我並不是真的想要在構建應用程序時始終構建「dojo/dojo」層,這需要很長時間(> 100秒),並且由於該層並沒有真正改變我不想繼續建設它。
問題是,即使只有一層「應用程序/主」,構建仍然創建所有的dojo/dijit/dojox文件,仍然需要很長時間(我知道我不需要這些文件,但它仍然解析/優化/壓縮...所有這些文件)。
有沒有辦法避免這種情況?我只想要一個簡單的小應用程序文件。
這裏是我的個人資料:
var profile = (function() {
var dojoDeps = ['dojo/dom', 'dojo/i18n', 'dojo/domReady', 'dojo/parser'];
var dojoxDeps = ['dojox/grid/DataGrid', 'dojox/data/JsonRestStore'];
var dijitDeps = ['dijit/form/Form', 'dijit/form/ValidationTextBox', 'dijit/form/Button',
'dijit/layout/BorderContainer'];
var allDojoDeps = [].concat(dojoDeps, dojoxDeps, dijitDeps);
var appDeps = ['app/main', 'app/run'];
return {
basePath: '../../../../dojo/dojo-src',
releaseDir: "../../target/dojo-compiled",
releaseName: "",
action: 'release',
cssOptimize: 'comments',
mini: true,
optimize: 'closure',
layerOptimize: 'closure',
stripConsole: 'normal',
selectorEngine: 'lite',
layers: {
'dojo/dojo': {
include: allDojoDeps,
boot: true
},
'app/main': {
include: appDeps,
exclude: allDojoDeps
}
},
staticHasFeatures: {
'dojo-trace-api': 0,
'dojo-log-api': 0,
'dojo-publish-privates': 0,
'dojo-sync-loader': 0,
'dojo-test-sniff': 0
},
packages: [
{
name: "dojo",
location: "dojo"
},
{
name: "dijit",
location: "dijit"
},
{
name: "dojox",
location: "dojox"
},
{
name: "app",
depsScan:false,
location: "../../src/main/webapp/app"
}
]
};
})();
Packages.com.google.javascript.jscomp.Compiler.setLoggingLevel(Packages.java.util.logging.Level.WARNING);
非常感謝!它確實將時間從約160減少到約80-90。但我仍然認爲它應該能夠更快地運行 - 我的整個webapp目錄是48個文件,佔用大約61KB,相對性很小。 – user2133807 2013-10-02 15:11:22