![](/img/trans.png)
[英]Is it normal to receive that many GET requests when running rails server?
[英]Many requests to server with dojo
dojo.require("dijit.Dialog");
dojo.require("dijit.form.Form");
dojo.require("dijit.form.Button");
dojo.require("dijit.form.DateTextBox");
dojo.require("dijit.form.TimeTextBox");
dojo.require("dijit.form.ValidationTextBox");
dojo.require("dijit.layout.TabContainer");
dojo.require("dijit.layout.ContentPane");
dojo.require("dijit.Tooltip");
dojo.require("dojo.parser");
dojo.require("dojo.fx");
dojo.require("dojo.dnd.Manager");
dojo.require("dojo.dnd.Source");
dojo.require("dojox.layout.ContentPane");
dojo.require("dojo.io.iframe");
这与 CDN 或 src="" 一起出现,并在我的页面中的检查元素中显示了很多请求,有人知道为什么吗?
好吧,您似乎想了解flow of Dojo
的flow of Dojo
我的意思是它如何工作以及如何加载其依赖项。
在上面的代码片段中,我们可以看到您使用的是 旧版模型/dojo 版本
首先我们了解
require
并define
require
和define
是异步模块定义(AMD) API 的一部分。
您可以使用define
来定义一个可以被其他代码使用的模块。 通常, define
将用于 javascript 文件中。 javascript 文件正在定义一个模块。 所有 Dojo 文件都使用define。
当您不定义模块但需要已定义的模块时,您可以使用require
。
加载小部件
因此,在您的网络和控制台中,您可以观察到,每当您加载 dojo cdn 链接时,它只会加载init.js
默认加载器文件。 体积非常小,加载容易/更快。
因此,一旦您的 dojo 加载器根据您的dojo 配置加载,它就会开始寻找您在项目中使用的依赖项,以便您在 require 中提到的小部件( dojo controls, classes, files etc.
)将开始从以下位置加载这些小部件CDN。
在这种情况下,dojo 不会在您的项目中加载整个 dojo 库,它只会加载您在require
提到的那些小部件。
希望这能解决您的疑虑:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.