为什么 dojo 解析时间取决于 css 和图像的可用性?
我一直在使用 dojo 小部件的页面上分析 javascript。我不使用显式解析 - 解析器在页面加载时运行。
我注意到,如果我在刷新页面之前清除浏览器缓存,则 dojo 解析比所有文件都已缓存要花费更多时间。
请注意,我们将所有必需的 dojo 模块构建到一个层(单个文件)中,因此我们不会延迟加载任何 js 文件。
我想知道dojo解析过程是否依赖于图像和css资源,据我所知它只实例化小部件并注入dom节点。
你知道为什么当缓存被清除时,dojo 解析器运行时间更长(在我的例子中是 2-3 倍)吗?
I have been profiling javascript on my page that uses dojo widgets. I don't use explicit parsing - the parser runs on page load.
What I noticed is that if I clear browser cache before refreshing the page, dojo parsing takes much more time than if all the files are already cached.
Note that we build all the required dojo modules into a layer (a single file), so we don't lazy-load any js files.
I wonder if dojo parsing process depends on images and css resources, as far as I know it only instantiates widgets and injects dom nodes.
Do you have any ideas why dojo parser runs longer (2-3 times longer in my case) when the cache is cleared?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您检查是否加载了任何文件?语言环境?国家生命科学局?日期/时间解析/格式化高度依赖于文化,可以通过区域设置动态解析,除非您做了正确的构建列表支持的区域设置。
Did you check if any files are loaded? Locales? NLS? Date/time parsing/formatting is highly culture-dependent, which can be resolved dynamically by locales, unless you did a proper build listing supported locales.
听起来如果清除缓存,页面加载本身(而不是解析)会变慢,这与任何其他页面没有什么不同。您可以使用构建工具将 CSS 最小化一点。 cssOptimize 设置可以以连接 CSS 的方式内联 Dijit 的所有 @import 文件(如果您还没有这样做的话)。图像也可以平铺以帮助提高性能。
It sounds like the page load itself, not the parsing, would be slower if the cache is cleared, and that's no different from any other page. You can minimize CSS a bit with the build tool. The cssOptimize setting can inline all the @import files for Dijit the way it concatenates CSS, if you're not already doing that. Images can be tiled also to help with performance.