问题标签 [deferred-loading]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - 我在 Angular 应用中有 vendor.js 和 main.js,我想推迟加载这些脚本
下图中的控制台屏幕截图我在 Angular 应用程序中有 vendor.js 和 main.js,我想推迟加载这些脚本,但是在我的项目中执行它的位置是我的 component.ts
索引.html
angular - 如何在角度构建后在 index.html 的脚本标签中注入延迟
我想推迟在 Angular 应用程序中加载我的 vendor.js 包。我应该寻找哪种方法,因为没有直接的方法可以以角度延迟加载包。这是我的 src index.html
font-awesome - 在子集已经加载后如何加载整个 fontawesome 库?
我希望能够加载 FontAwesome 子集(支持我网站中使用的核心图标),然后延迟加载整个 fontawesome 库(因此 CMS 内容作者可以使用他们想要的任何图标。
FontAwesome Kits 已经发布(因为我有一个 Kickstarter 支持者许可证)。
我想我可以简单地创建我的font-awesome-subset.js
并使用 eventListener onDOMContentLoaded
来加载fontawesome/js/all.js
,但是当两个文件都被加载时,只有子集的图标被转换为 SVG。
假设问题是library.add()
我的子集中没有被 覆盖all.js
,然后我尝试创建另一个font-awesome-all.js
可以调用的文件library.add('far', 'fas'...)
,但是 webpack 认为将所有图标都包含在font-awesome-subset.js
和 font-awesome-all.js
中会更有效。
关于如何做到这一点的任何建议?
这是一个代码示例:
javascript - 如何保证延迟的 JS 脚本已经执行?
在我的网站上,我使用 javascript 模块,根据 MDN ,默认情况下这些模块是延迟的。我有一些额外的 javascript,只有在这些模块加载并执行后才能安全执行。MDN在这里指出延迟的脚本执行保证在DOMContentLoaded
事件触发时已经发生。此外,这里建议您还可以考虑此事件已经触发的情况,如下所示:
上面的块似乎是我正在寻找的。但是 MDN 上其他地方的文档让我不确定这是否真的正确。例如,为什么readystate
上面的检查寻找loading
而不是loading
OR interactive
?上的文档readystate
说loading
紧随其后interactive
,并且处于“脚本、图像、样式表和框架interactive
等子资源仍在加载”状态。
因此,在我看来,这里存在不一致之处。建议的readystate
检查不足以保证DOMContentLoaded
已触发,或者DOMContentLoaded
不足以保证延迟脚本已完成。