0

我有一个场景,我试图通过将所有内容添加到一个层来将 dojo 和我的应用程序构建到一个文件中。但是,在 dojo 的 gfx/render 中,渲染器是动态确定的,并且使用 require 语句来获取该渲染器的模块。因此,在构建之后,我的最终 js 文件中没有这些渲染模块。

当我加载最终的 js 文件时,它会尝试在其实际位置找到渲染。

如果我将这些文件原样添加到新层中,则会导致新问题。加载的渲染器模块在其依赖列表中定义了其他 dojo 模块,其中大部分已经包含在之前的最终 js 文件(第 1 层)中。

因此,这会导致大层。

可以使用什么解决方案来解决这个问题?

4

1 回答 1

0

您还需要在构建中包含动态需要的模块...为此,您可以创建一个加载器模块(例如 LoaderModule)并在其中需要这些依赖项,然后将该模块作为依赖项添加到您的模块中的一个层。不久:

LoaderModule.js:

define([
    'dojo/_base/declare',

    /* Add all dynamically required modules here to include in production build */
    'dojox/gfx/renderer'

], function(declare) {
    return declare(null, {});
});

然后将 LoaderModule 作为依赖项添加到您的核心模块之一。

于 2015-01-29T01:21:55.980 回答