Dojo构建配置文件中缺少Dojo Layer (>1.7)。

4
我有一个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);
1个回答

0

optimize: "closure" 会导致优化器在发布的所有文件上运行。 layerOptimize 选项控制图层的优化,因此您可以设置 optimize: "" 来停止优化非图层文件,您应该会发现构建速度显著加快。


非常感谢!它确实将时间从约160减少到了约80-90。但是我仍然认为它应该能够运行得更快 - 我整个Web应用程序目录只有48个文件,大约61KB,相对较小。 - user2133807

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接