一直在研究脚本标记中async
和defer
的使用。鉴于以下......
async - 在加载JS脚本时允许解析其余的html。一旦脚本完全加载,然后是html 解析器暂停执行脚本。但是,请注意订单 装载无法控制。
defer - 也允许html的其余部分解析,但是加载了 只有在html解析完成后才会执行js。
所以,如果你能够在不加载js脚本的情况下显示你的html 首先......使用
async
。如果涉及多个脚本并且 他们加载的顺序很重要,然后使用defer
。另一方面,如果你的脚本必须首先加载(并且不能被重写以允许 html首先解析)然后只需加载脚本而不使用async
或 标题中为defer
。
如何适应AngularJS等现代框架......因为延迟加载会导致错误。任何指针都会受到赞赏。
答案 0 :(得分:0)
考虑到Angular应用程序完全依赖于Angular JS文件和依赖项,除非您有后备(如加载状态,可能?),否则推迟或异步它们没有多大意义。尽管如此,添加延迟到所有脚本可能会正常工作,但在性能方面做得不多。添加异步可能会破坏事物,因为需要在其他依赖项之前加载某些依赖项。