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