Vue2的獨立構建與運行時構建的差異

其實這個問題在你使用vue-cli構建項目的時候是不會出現的,由於你在建立項目的構建過程當中已經讓你勾選了,而後會寫入webpack.config.js中。vue

image

這就在這,會讓你選擇Vue的構建方式。webpack

image

若是你勾選Runtime + Compiler就會出現如上的配置。web

其實這裏涉及到一個概念:vue-cli

  • 獨立構建:含義是,擁有完整的模版編譯功能運行時調用功能
  • 運行時構建:含義是,只擁有完整的運行時調用功能

image

爲何會有這種區分呢?瀏覽器

  • 第一,由於Vue使用/運行過程分爲兩個階段,第一階段是將模版進行編譯(如單個vue文件中的template)爲渲染函數(render),第二階段是將實際函數的調用階段。
  • 第二,由於自Vue2.x開始,Vue開始支持SSR(服務端渲染),而服務端是沒有DOM這些概念的。因此致使了從Vue2.x後會有分包的問題。

下面是官方話術:服務器

  1. 獨立構建包括編譯和支持 template 選項。 它也依賴於瀏覽器的接口的存在,因此你不能使用它來爲服務器端渲染。
  2. 運行時構建不包括模板編譯,不支持 template 選項。運行時構建,能夠用 render 選項,但它只在單文件組件中起做用,由於單文件組件的模板是在構建時預編譯到 render 函數中,運行時構建只有獨立構建大小的 30%,只有 16Kb min+gzip 大小。

因此二者最大的區別也就出來了函數

  1. 獨立構建包括編譯和支持 template 選項
  2. 運行時構建不包括模板編譯,不支持 template 選項
相關文章
相關標籤/搜索