单页面应用用script标签加载js,加载多了会有什么副作用
发布于 8 年前 作者 yakczh 4737 次浏览 来自 问答

单页应用 页面交互的js比较多,如果一次性打包文件会很大,另一种是根据模块划分成很多业务模块, 路由用到该模块了再去用scprt标签加载对应的js 但这样多次占击以后, 相当于head标签里append了很多script标签,这种方案有什么副作用吗?

7 回复

<div data-reactid=".0.1.0.5.2.0.0"><p data-reactid=".0.1.0.5.2.0.0.$0"><span data-reactid=".0.1.0.5.2.0.0.$0.0">并没有,这样会增加JS的加载时间,为何不一次打包所有,利用浏览器的缓存和cdn,开销并不大,异步加载脚步只是为节省一次脚本加载的开销</span></p></div>

如果对于移动端,我不建议把所有模块打包到一起加载,这样文件会很大,影响加载速度,建议按需加载。 对于pc端请随意了。

用模块化管理,seajs

@shinygang PC端我也不随意, 有几千个页面,几千个JS, 一次加载完,影响就非常大了, 我用前端模块化管理seajs

副作用就是浏览器并发加载资源是有限制的,并且每个http请求开销都不小,性能是个问题。

@151263 哈哈,肯定不能随意哈,前端是大工程。

如果按文本格式请求js文件回来, 在客户端按模块名字做键,建立一个缓存, 第一次请求放入缓存,如果用户第二次请求相同的模块 可以从缓存中取出来eval 虽然页面很多,但是模块数目总是有限的, 这种方案可行吗?

回到顶部