[问题] Vue在大型专案的效率

楼主: James610024 (littleDog)   2019-05-23 23:43:28
各位前辈好,小弟是菜鸟工程师,
非本科系刚从资策会毕业约一个多月,
也就业一个月了,
有幸接触到用vue写的专案,
目前在新删修功能上是没遇到什么大问,
不过今天主管问了我一个问题:
如果今天是一个大型专案,里面的JacaScript语法非常多,他build在同一个js档里。会
不会在一开始加载的时候花费很多的时间?
小弟刚接触语言不久,不太懂生命周期什么的,有人可以帮我解答,或是告诉我查资料的
方向吗?
目前我的想法是会根据router的路径,才会去渲染这些Html跟JavaScript,
并不会一加载网页就全部执行,不知道这样的想法对不?
恳请各位前辈解惑,感谢!!
作者: satanbaby (撒旦北鼻)   2019-05-24 02:25:00
作者: VdustR (京)   2019-05-24 08:41:00
你说的是 lazy loading routeshttps://router.vuejs.org/guide/advanced/lazy-loading.html其实要优化的话还有很多地方都可以让你做 code splitting,而且经过 webpack 还有 tree shaking 和 terser, 可以善用 bundle analyse 分析 js 容量的布局, 通常会比 CDN 引用整只 lib 载下来的方式快很多
作者: chengchieh (cc)   2019-05-24 09:27:00
比较好奇为什么主管会问菜鸟这问题
作者: eight0 (欸XD)   2019-05-24 11:53:00
可以看看这篇文章 https://is.gd/qTWbqL比较新的技术 https://blog.cloudflare.com/binary-ast/
作者: lachtchlee (nymph)   2019-05-24 21:13:00
staged compilation Eloquent JavaScript 3rd p.392电子书没这些内容 纸本书后来才加上 ans.不会慢多少在一开始加载的时候不会花费很多时间 几乎会瞬间启动Functions may not be compiled at all until thefirst time they are called.
作者: pkro12345 (席龙)   2019-05-24 23:19:00
js如果没有某些要async或defer异步加载的话 当然是包成一支js档比较快阿 因为很多支js档load反而需要时间不过如果有异步的话 现在vue-cli也会帮你加async在最后的js档里 另外模组载很多 如果没渲染执行的话也没差
作者: st1009 (前端攻城师)   2019-05-25 07:30:00
我就是跟主管说一开始加载太久,说服他用laravel,不用vue
作者: pkro12345 (席龙)   2019-05-25 14:16:00
我这里说的异步是指一开始加载js的异步 关键字搜寻script async defer就知道了
作者: dream1124 (全新开始)   2019-06-16 11:53:00
主管只是想了解品质是否符合需求,还是要你强化效能?若是前者的话,那要看客户或产品规划者是否满意啊。不一定要急着把它变成工程问题。

Links booklink

Contact Us: admin [ a t ] ucptt.com