導航:首頁 > 源碼編譯 > vue編譯耗時

vue編譯耗時

發布時間:2023-01-03 07:19:25

1. vue和react為什麼運行時和編譯

運行時與編譯時是前端工程師常常聽到的兩個詞。

比如 Vue 運行時、Angular 運行時、React 運行時……

又比如 svelte 框架,總聽到他的宣傳說的是「0 運行時」,所以他的工作其實就是在「編譯時」了。

這兩個詞到底是什麼意思呢?

2. vue生命周期總共有幾個階段

vue生命周期分為8個階段,即分別是創建前、創建後、載入前、載入後、更新前、更新後、銷毀前、銷毀後。VUE是iOS和Android平台上的一款Vlog社區與編輯工具,允許用戶通過簡單的操作實現Vlog的拍攝、剪輯、細調、和發布,記錄與分享生活,還可以在社區直接瀏覽他人發布的Vlog,與Vloggers互動。隨著手機攝像頭的發展,越來越多的人開始使用手機拍照和攝像。VUE軟體通過點按改變視頻的分鏡數實現簡易的剪輯效果,而剪輯能夠讓視頻傳達更多的信息。同時,該軟體中有12款濾鏡供用戶選擇,切換至前置攝像頭會出現自然的自拍美顏功能。VUE支持40款手繪貼紙,還可以編輯貼紙的出現時間。

3. Vue.js生命周期的詳細介紹

總共分為8個階段,分別為beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroyed、destroyed.

beforeCreate:在實例初始化之後,數據觀測者(data observer)和event/watcher事件配置之前調用。

在此階段無法通過vm訪問到data中的數據,methods中的方法。

created:在實例創建完成後立即調用。在這一步,實例已完成以下的配置:數據觀測者,屬性和方法的運算,watch/event事件回調。然而,掛載階段還沒開始,Sel屬性目前不可見。

在此階段可以通過vm訪問到data中的數據,methods中的配置的方法。

beforeMount:在掛載開始之前調用,相關的render函數首次調用。

在此階段1.頁面呈現的是未經Vue編譯的DOM結構。2.所以對DOM的操作,最終都不奏效。

mounted: el被新創建的vm.Sel替換,並且在掛載到實例上之後再調用該鉤子.如果root實例掛載了一個文檔內元素,當調用mounted時vm.el也在文檔內。

beforeDestroy:在實例銷毀之前調用。在這一步,實例仍然完全可用。

beforeUpdate:在數據更新時調用,發生在虛擬DOM重新渲染和打補丁之前。updated:由於數據更改導致的虛擬DOM重新渲染和打補丁,在這之後會調用該鉤子。

在此階段數據的更新,但是頁面是舊的,無法操作新的DOM

updated階段:頁面是新的,一般在這里操作新DOM

destroyed:在Vue.js實例銷毀後調用。調用後,Vue.js實例指示的所有東西都會解除綁定,所有的事件監聽器會被移除,所有的子實例也會被銷毀。

4. vue2項目編譯webpack耗時統計

vue編譯命令 npm run build ,其實際使用的命令是 vue-cli-service build ,路徑是 node_moles\@vue\cli-service\lib\commands\build\index.js

speed-measure-webpack-plugin 每一項耗時都有精確統計,搭配使用 webpack-bundle-analyzer 打包後的各個模塊文件大小,直觀明了,根據具體項目再去進行優化。

5. 使用create-vue過程中遇到的一些問題

例如沒有引入的組件會報錯: __If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. __

所以要關注瀏覽器的警告, 不能忽略,有時候出錯了, 編譯也不報錯,排查很難受

解決方案: 將node版本升級到12及以上; 我用了12.16.2之後,啟動成功

筆者誤將vue-> Vue了,然後編譯器報了個Two output files share the same path but have different contents; 說打包路徑不能一直,搞得一臉懵;

最後通過對比發現,Pre-bundling dependencies的結果裡面多了個Vue導致的😄;很難受

最後,vite編譯的確實很快,不到6秒就能編譯成功,風一般的速度; 不過在使用的時候要注意各種坑,希望vite官方,能將錯誤拋出來,而不是報警告。
感謝vite大佬為我們提供了這么快的編譯工具!!!

6. vue編譯打包速度優化

1、首先在config文件夾下配置webpack.dll.config.js(內容如下),要打包的模塊的數組可以將一些較大的依賴放進vendor中

2、在package.json的scripts加上

3、運行npm run dll就可以生成vendor-manifest.json和vendor.dll.js

4、然後在index.html中引入vendor.dll.js

然後就可以正常的進行編譯打包,會發現將更多的依賴放到vendor,打包速度越快

優化前

優化後

大概平均可以節省三分之一的時間。參考 webpack中文網

閱讀全文

與vue編譯耗時相關的資料

熱點內容
mac壓縮解壓視頻 瀏覽:906
這就是程序員魅力 瀏覽:296
京東java演算法筆試題 瀏覽:178
柱子加密箍筋不準有接頭 瀏覽:199
我的世界伺服器菜單插件如何使用 瀏覽:12
劉毅10000詞pdf 瀏覽:890
剛畢業的程序員會什麼 瀏覽:974
單片機控制64路開關量 瀏覽:982
win10截圖編程 瀏覽:420
怎樣把名字變成文件夾 瀏覽:203
文件怎麼搞成文件夾 瀏覽:730
多線程編程php 瀏覽:606
安卓機越用越卡有什麼辦法 瀏覽:17
高中生解壓操場適合做的游戲 瀏覽:395
程序員java招聘 瀏覽:462
未來之光手機雲伺服器 瀏覽:160
伺服器下載資料為什麼c盤滿了 瀏覽:265
怎麼清除空文件夾 瀏覽:544
如何查看派派伺服器 瀏覽:804
殺手6解壓畫面 瀏覽:671