Dojo 1.10 创建一个包含所有所需模块的 .js 文件

Dojo 1.10 Create one .js file with all modules needed

我已经阅读了很多关于 Dojo 中的新功能(1.6 之后)的文章...是否可以构建一个 .js 文件,其中不仅包含 dojo.js 文件,还包含所有的页面所需的模块(及其依赖项)?

谢谢。

Dojo 1.x(pre-AMD 和 post-AMD)中的构建系统支持完全按照您的要求执行的构建层。您使用应用程序所需的顶级模块配置层,然后构建过程将递归扫描依赖项以将应用程序模块所需的所有内容包含在一个模块中。

现代 Dojo 构建配置文件通常如下所示:

var profile = {
    action: 'release',
    basePath: 'src',
    releaseDir: '../dist',

    // Strip comments and newlines from CSS and flatten imports
    cssOptimize: 'comments',

    // Use the Closure compiler (which supports dead code removal)
    // for layer optimization; uglify is also a choice
    layerOptimize: 'closure',

    // Specify the packages the build should scan
    // (only include the ones you use; this follows the same format
    // as the AMD packages option if you need to specify paths)
    packages: [ 'dojo', 'dijit', 'dojox', 'app' ],

    // Layers should always be defined over existing modules.
    // You can define a layer over your own top-level application module,
    // or you can redefine dojo/dojo so that all of your code is
    // included as soon as you load dojo.js
    layers: {
        'dojo/dojo': {
            // This layer includes the loader
            boot: true,
            // When building dojo/dojo, don't bundle all of dojo/_base
            customBase: true,
            include: [ 'app/main' ]
        }
    }
};

对于保证将所有内容构建到一个模块中的简单应用程序的理想构建配置文件,您最终应该只需要在生产中加载以下内容:

  • 1 个 JS 文件(dojo.js)
  • 1 个 NLS 文件(NLS 包被合并以匹配每个配置的层)
  • 1 CSS 文件(由于使用 cssOptimize 导入扁平化)
  • 图片

其他资源: