我有一个构建两层的dojo构建配置文件--一层是dojo/dojo层,另一层是我的应用文件。
这一切都运行得很好,并产生了两个“大”文件(main.js和dojo.js),其中包含所有需要的代码。
然而,我真的不想在构建应用程序的时候一直构建"dojo/dojo“层,这需要很长的时间(>100秒),而且由于这一层并没有发生巨大的变化,所以我不想一直构建它。
问题是,即使只有一层"app/main“,构建仍然会创建所有的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);发布于 2013-08-17 11:54:40
optimize: "closure"将使优化器对版本中的所有文件运行。layerOptimize选项用于控制层的优化,因此您可以将optimize: ""设置为停止优化非层文件,并且您会发现构建的运行速度要快得多。
https://stackoverflow.com/questions/15213543
复制相似问题