[問題] 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