我有一个场景,我试图通过将所有内容添加到一个单独的层来将dojo和我的应用程序构建到一个文件中。 但是,在dojo的gfx / render中,动态确定渲染器,并使用require语句来获取该渲染器的模块。 因此,在构建之后,我不会在最终的js文件中使用这些渲染模块。
当我加载最终的js文件时,它会尝试在实际位置找到渲染。
如果我将这些文件添加到新图层中,则会导致出现新问题。加载的渲染器模块在其依赖项列表中定义了其他dojo模块,其中大多数已经包含在先前的最终js文件(第1层)中。
因此,这会导致大的层次。
可以使用什么解决方案来解决这个问题?
答案 0 :(得分: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添加为您的某个核心模块的依赖项。