来自D2前端技术论坛中的ppt,可以在此查看
前端中静态文件与文件夹组织也有些讲究。可以结合wp的主题进行思考,其中CSS样式表不合并请求请求多,合并又太大,不好取舍。又比如js加载,如何让重要的控件可以先响应,像某些重要的按钮。
加载执行顺序方面,body需要等到head中的资源下载完成后才开始渲染,同时body中的资源需要等到之前的js执行完才会开始下载。js会等到其前面所有css下载完成后才开始执行。
这里有完整的测试报告
由于dom ready可能需要花比较多的时间,故而部分js只能操作之前的dom。
综上所述,理论上head中最好只放执行时间尽量短的内联js(减少下载)同时其放在css前面(让css并行下载);必要的js放在文档最后,其他按需加载。然而这仅是从性能优化上考虑,还有维护,开发速度等问题需要考虑。web应用与大规模网站是需要区别对待的,web应用通常都是一个页面,可以进行打包,参考CommonJS即可。
前端需要后端配合进行模块化工作,让模块加载自动符合上面的规则。比如do这个库就设计编码时让html与js放在一起,只进行加载工作,但是真正执行是在文件末尾,但这样仍会导致并行化阻塞(渲染需要等待下载完成),故而后端会在编译时将模块对应的css与js完全分开,并在正确的位置生成。
打赏作者
抢沙发
还没有评论,你可以来抢沙发