摘要:然而到了,為了支持服務端渲染,編譯器不能依賴于,所以必須將編譯器和運行時分開。這就形成了獨立構建編譯器運行時和運行時構建僅運行時。
看了Vue 2.1.7版本的源碼, 發現在打包Vue文件的時候, 可以通過不同的配置項打包不同的版本.
根據package.json里面的命令可以看到不同的運行方式.
其中最主要的區別就是在入口文件
是web-runtime-with-compiler.js 還是 web-runtime.js.
這里就是運行時構建與 獨立 構建的區別所在
查看里面的源碼可以發現
Web-runtime-with-compiler.js 中重載了 web-runtime.js 的$mount()方法, 主要區別在與
對options.template 選項進行了解析 => 成為render 函數, 這個步驟可以理解為編譯過程
而運行時構建 對于用webpack + vue-loader 生成的項目來說, 是在預編譯階段就進行了編譯, 所以對于vue-cli生成的項目默認是使用運行時構建
由于 Vue.js 1.0 的編譯過程需要依賴瀏覽器的 DOM,所以無法(或者說沒有意義)將編譯器和運行時分開。因此在 Vue.js 1.0 分發包中,編譯器和運行時是打包在一起,都在瀏覽器端執行。
然而到了 Vue.js 2.0,為了支持服務端渲染(server-side rendering),編譯器不能依賴于 DOM,所以必須將編譯器和運行時分開。這就形成了獨立構建(編譯器 + 運行時)和運行時構建(僅運行時)。顯而易見,運行時構建要小于獨立構建。
http://hcysun.me/2017/03/03/V...
http://blog.csdn.net/zengyong...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/83610.html
摘要:的構造函數將自動運行啟動函數。我在閱讀源碼的過程中,發現源碼余行,而和模板編譯相關的代碼,則約有行左右。這個是創建的方法,作為第一個參數傳入。最后會返回一個節點。這個時候將賦值為這個節點,掛載完成 mount, 意思為掛載。可以理解為將vue實例(邏輯應用),掛靠在某個dom元素(載體)上的一個過程。 一、創建Vue實例時的渲染過程 上一篇文章我們講到, 在創建一個vue實例的時候(v...
摘要:獨立構建和運行時構建的區別標簽空格分隔未分類在使用時,有獨立構建和運行時構建兩種版本可供選擇。運行時構建不包括模板編譯,不支持選項。這就形成了獨立構建編譯器運行時和運行時構建僅運行時。 Vue.js 2.0 獨立構建和運行時構建的區別 標簽(空格分隔): 未分類 在使用 Vue.js 2.0 時,有獨立構建(standalone)和運行時構建(runtime-only)兩種版本可供選...
摘要:獨立構建和運行時構建的區別標簽空格分隔未分類在使用時,有獨立構建和運行時構建兩種版本可供選擇。運行時構建不包括模板編譯,不支持選項。這就形成了獨立構建編譯器運行時和運行時構建僅運行時。 Vue.js 2.0 獨立構建和運行時構建的區別 標簽(空格分隔): 未分類 在使用 Vue.js 2.0 時,有獨立構建(standalone)和運行時構建(runtime-only)兩種版本可供選...
摘要:獨立構建和運行時構建的區別標簽空格分隔未分類在使用時,有獨立構建和運行時構建兩種版本可供選擇。運行時構建不包括模板編譯,不支持選項。這就形成了獨立構建編譯器運行時和運行時構建僅運行時。 Vue.js 2.0 獨立構建和運行時構建的區別 標簽(空格分隔): 未分類 在使用 Vue.js 2.0 時,有獨立構建(standalone)和運行時構建(runtime-only)兩種版本可供選...
閱讀 1155·2021-10-15 09:39
閱讀 3053·2021-09-10 10:50
閱讀 3455·2019-08-30 15:53
閱讀 1878·2019-08-30 15:52
閱讀 2565·2019-08-29 15:31
閱讀 1978·2019-08-26 13:43
閱讀 2594·2019-08-26 13:37
閱讀 1445·2019-08-23 18:31