[問題] Vue在大型專案的效率

看板Ajax作者 (JamesChen)時間2年前 (), 2年前編輯推噓6(6020)
留言26則, 8人參與, 2年前最新討論串1/1
各位前輩好,小弟是菜鳥工程師, 非本科系剛從資策會畢業約一個多月, 也就業一個月了, 有幸接觸到用vue寫的專案, 目前在新刪修功能上是沒遇到什麼大問, 不過今天主管問了我一個問題: 如果今天是一個大型專案,裡面的JacaScript語法非常多,他build在同一個js檔裡。會不會在一開始載入的時候花費很多的時間? 小弟剛接觸語言不久,不太懂生命周期什麼的,有人可以幫我解答,或是告訴我查資料的方向嗎? 目前我的想法是會根據router的路徑,才會去渲染這些Html跟JavaScript, 並不會一載入網頁就全部執行,不知道這樣的想法對不? 懇請各位前輩解惑,感謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 124.218.32.84 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1558626210.A.029.html

05/24 02:25, 2年前 , 1F

05/24 08:41, 2年前 , 2F
你說的是 lazy loading routes
05/24 08:41, 2F

05/24 08:42, 2年前 , 3F

05/24 08:42, 2年前 , 4F
tml
05/24 08:42, 4F

05/24 08:47, 2年前 , 5F
其實要優化的話還有很多地方都可以讓你做 code splitting,
05/24 08:47, 5F

05/24 08:47, 2年前 , 6F
而且經過 webpack 還有 tree shaking 和 terser, 可以善
05/24 08:47, 6F
我文中說的build.js就是用webpack打包成的,這樣算是有稍微優化嗎?

05/24 08:47, 2年前 , 7F
用 bundle analyse 分析 js 容量的佈局, 通常會比 CDN 引
05/24 08:47, 7F

05/24 08:47, 2年前 , 8F
用整隻 lib 載下來的方式快很多
05/24 08:47, 8F
結果大家回應的東西都不懂QQ,看來要好好學習了,感謝各位!!

05/24 09:27, 2年前 , 9F
比較好奇為什麼主管會問菜鳥這問題
05/24 09:27, 9F
主管對於新技術比較不熟悉,而且我接手一個多月了,想說問我知不知道吧 ※ 編輯: James610024 (49.217.96.102), 05/24/2019 11:34:40 ※ 編輯: James610024 (49.217.96.102), 05/24/2019 11:36:48

05/24 11:53, 2年前 , 10F
可以看看這篇文章 https://is.gd/qTWbqL
05/24 11:53, 10F

05/24 11:54, 2年前 , 11F
05/24 11:54, 11F

05/24 21:13, 2年前 , 12F
staged compilation Eloquent JavaScript 3rd p.392
05/24 21:13, 12F

05/24 21:17, 2年前 , 13F
電子書沒這些內容 紙本書後來才加上 ans.不會慢多少
05/24 21:17, 13F

05/24 22:00, 2年前 , 14F
在一開始載入的時候不會花費很多時間 幾乎會瞬間啟動
05/24 22:00, 14F

05/24 22:02, 2年前 , 15F
Functions may not be compiled at all until the
05/24 22:02, 15F

05/24 22:03, 2年前 , 16F
first time they are called.
05/24 22:03, 16F
所以可以解釋成:vue模板未使用到的函式,不會一開始就載入嗎? ※ 編輯: James610024 (180.177.25.34), 05/24/2019 22:38:14 ※ 編輯: James610024 (180.177.25.34), 05/24/2019 22:51:51

05/24 23:19, 2年前 , 17F
js如果沒有某些要async或defer非同步載入的話 當然是包
05/24 23:19, 17F

05/24 23:20, 2年前 , 18F
成一支js檔比較快阿 因為很多支js檔load反而需要時間
05/24 23:20, 18F

05/24 23:22, 2年前 , 19F
不過如果有非同步的話 現在vue-cli也會幫你加async在最
05/24 23:22, 19F
我記得送資料到後段有些地方用到非同步,比方說驗證帳號密碼跟一些設定資料會丟給不同的模組執行

05/24 23:25, 2年前 , 20F
後的js檔裡 另外模組載很多 如果沒渲染執行的話也沒差
05/24 23:25, 20F

05/25 07:30, 2年前 , 21F
我就是跟主管說一開始載入太久,說服他用laravel,不用vue
05/25 07:30, 21F
好的,感謝各位!! ※ 編輯: James610024 (180.177.25.34), 05/25/2019 08:22:26

05/25 14:16, 2年前 , 22F
我這裡說的非同步是指一開始載入js的非同步 關鍵字搜尋
05/25 14:16, 22F

05/25 14:16, 2年前 , 23F
script async defer就知道了
05/25 14:16, 23F
好,謝謝您! ※ 編輯: James610024 (180.177.25.34), 05/25/2019 17:37:33

06/16 11:53, 2年前 , 24F
主管只是想了解品質是否符合需求,還是要你強化效能?
06/16 11:53, 24F

06/16 11:54, 2年前 , 25F
若是前者的話,那要看客戶或產品規劃者是否滿意啊。
06/16 11:54, 25F

06/16 11:54, 2年前 , 26F
不一定要急著把它變成工程問題。
06/16 11:54, 26F
文章代碼(AID): #1Svh-Y0f (Ajax)
文章代碼(AID): #1Svh-Y0f (Ajax)