AMD/Dojo 1.7单页应用程序:在哪里放置Require()?

5

我正在将一个大型单页应用程序迁移到Dojo 1.7/AMD加载器语法。

我有一个主JSP文件来加载所有内容,还有许多用于动态内容生成的JSP页面。

在设计上,是将require(){}块添加到整个应用程序中更好,还是在每个必需模块的实例周围添加?

或者采用一些组合方式?将最常见的require()添加到主页面中,然后查找其他需要包装的实例?

1个回答

4

尽可能使用延迟加载;最好在“动态内容”的JSP页面级别上。这样可以清楚地了解每个页面需要什么,将requires()与使用导入模块的代码紧密结合更加清晰。

它还减少了主页面加载所需的时间,这意味着用户可以在更短的时间内与应用程序交互。这是一个好的事情。


2
关键是使用构建过程构建基础层,该层提供了可以在每个页面上加载的模块。因此,对于我们来说,它最终包含了最常见的dijit表单输入小部件(文本、选择、按钮等)和所有这些依赖项。之后,附加层不应包括基础层已提供的模块,但应将基础层作为依赖项要求。 - Andrew
啊,好的提示。我仍在学习Dojo构建过程的工作原理。 - craigforster
@Andrew - 如果您能粘贴您的general-page include,那将非常棒。我还有点模糊,您是否需要明确包含诸如'dojo'和'dojox'之类的内容。 - mtyson
1
@mtyson - 通常情况下,您的层不需要使用dojo/dijit/dojox依赖项,除非您想要包含它们。因此,如果您有一组小部件(例如myCompany.MyWidget等),那么您的层文件将是您制作的小部件列表,如果它们依赖于dojo/dijit/dojox内容,则会自动包含在内。但是,如果您直接使用dijit/dojo内容,则还需要在层文件中枚举这些内容。这非常情境化。 - Andrew
1
@mtyson - 查看构建工具生成的构建报告,它将列出包含在层中的哪些模块。 - Andrew

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