㈠ 2.vue開發與傳統開發有什麼區別
你指的是Vue.js吧。
前端框架,這種框架的開發可以把前後台完全分離,前端人員只負責前端開發,服務端人員負責服務端開發。vue有自己的請求處理方式,現在前後端都是用rest風格,前後台只在介面上有交集,代碼上完全獨立。
還有就是Vue同angualrjs類似都是用我們所謂的MVC或者稱為MVVC的方式,是的前端代碼也區分出model,controller and view層,代碼做到更好的控制和流暢
㈡ Vue正式上線項目都是編譯之後的嗎
對,都是編譯後的,就像後端,也是編譯後的
㈢ 解釋和編譯有什麼區別
一、與計算機的交流方式不同
1、解釋程序不產生目標代碼,它逐條地取出源程序中的語句,邊解釋,邊執行;解釋器把源代碼文件邊解釋成機器語言邊交給CPU執行。
三、開發便捷性
1、解釋程序可以隨時修改,立刻生效,改完源代碼後,直接運行看效果
2、編譯程序每次修改源代碼,都要重新編譯,生成機器碼文件
四、運行速度
1、解釋程序運行效率低,所有的代碼均需經過解釋器邊解釋變執行,速度比編譯型慢很多
2、編譯程序執行速度快,因為你的程序代碼已經翻譯成了是計算機可以理解的機器語言。
㈣ Vue 模板編譯 是用來代替JSP的嗎
JSP可以和Vue一起使用,但vue本身更傾向於基於node的服務端渲染SSR
㈤ vue是什麼 vue特點 vue和其他前端框架區別
vue是什麼
Vue.js (讀音 /vju?/,類似於 view) 是一套基於javascript的用於構建用戶界面的漸進式框架。與其他重量級框架不同的是,Vue 採用自底向上增量開發的設計。Vue 的核心庫只關注視圖層,它不僅易於上手,還便於與第三方庫或既有項目整合。另一方面,當與單文件組件和 Vue 生態系統支持的庫結合使用時,Vue 也完全能夠為復雜的單頁應用程序提供驅動。
vue特點
簡潔、輕量、組件化、快速、數據驅動、模塊友好
vue和其他前端框架區別
1.與AngularJS的區別
相同點:
都支持指令:內置指令和自定義指令。
都支持過濾器:內置過濾器和自定義過濾器。
都支持雙向數據綁定。
都不支持低端瀏覽器。
不同點:
1>AngularJS的學習成本高,比如增加了Dependency Injection(依賴注入)特性,而Vue.js本身提供的API都比較簡單、直觀。
2>在性能上,AngularJS依賴對數據做臟檢查,所以Watcher越多越慢。
Vue.js使用基於依賴追蹤的觀察並且使用非同步隊列更新。所有的數據都是獨立觸發的。
對於龐大的應用來說,這個優化差異還是比較明顯的。
手機渲染速度:angular1 300ms * vue 200ms * react 100ms
2.與React的區別
相同點:
React採用特殊的JSX語法,Vue.js在組件開發中也推崇編寫.vue特殊文件格式,對文件內容都有一些約定,兩者都需要編譯後使用。
中心思想相同:一切都是組件,組件實例之間可以嵌套。
都提供合理的鉤子函數,可以讓開發者定製化地去處理需求。
都不內置列數AJAX,Route等功能到核心包,而是以插件的方式載入。
在組件開發中都支持mixins的特性。
不同點:
React依賴Virtual DOM,而Vue.js使用的是DOM模板。React採用的Virtual DOM會對渲染出來的結果做臟檢查。
Vue.js在模板中提供了指令,過濾器等,可以非常方便,快捷地操作DOM。
vue的應用場景
簡單地說,就是需要對 DOM 進行很多自定義操作的項目小項目;理論上 Vue 配合類似Flux的架構也可以勝任超大規模多人協作的復雜項目。
㈥ vue原理是什麼
原理是:vue在編譯的時候通過在DOM元素以及css樣式上加上唯一標記,實現樣式私有化,不污染全局樣式。
如:編譯為;對應的樣式。my-class編譯為。my-class[data-v-56e7f951]。
state中保存著共享數據;
修改state中的狀態只能提交mutations中的方法,且方法必須是同步的;
需要非同步方法時,寫在actions中,提交mutations,由mutations修改state狀態。
(6)vue開發時編譯有區別嗎擴展閱讀:
vue在web開發、網站製作中的優勢
1、據綁定:vue會根據對應的元素,進行設置元素數據,通過輸入框,以及get獲取數據等多種方式進行數據的實時綁定,進行網頁及應用的數據渲染 。
2、組件式開發:通過vue的模塊封裝,它可以將一個web開發中設計的各種模塊進行拆分,變成單獨的組件,然後通過數據綁定,調用對應模版組件,同時傳入參數,即可完成對整個項目的開發。
3、簡單小巧的核心,漸進式技術棧,足以應付任何規模的應用。
㈦ vue和angular 編譯速度誰更快
框架之間的對比雖然是老生常談,但也確實是繞不過去的話題,Vue本身的文檔里也直接就有和其他框架的對比。同為開源的技術方案,比較本身其實沒有任何問題,但在寫Vue與其他框架的比較的時候,我們盡力做到兩點:
1. 確保事實的准確性。有的就是有,沒有就是沒有,不確定的就不說,弄錯了一定改。
2. 確保語氣的中立性。別人的缺點指出但不嘲諷,優點大方承認。
之前 @汪志成 對Vue跟 Angular 的比較文案提出了意見,我們也對應地進行了修訂。也歡迎社區繼續進行監督和反饋 —— 比較的目的不是扭曲大家的認知,而是為了幫助大家做出自己的判斷。
現在說回來大漠(後面都用大漠指代,注意跟 w3cplus@大漠老師不是一個人,對不住了哈哈)的這篇文章,很遺憾,以上兩點都不及格。
先說事實。
CLI/工具鏈
首先兩個框架 CLI 的定位不一致。vue-cli 不是一個打包工具,它只是一個 scaffold,也就是初始化工具。真正負責打包的是初始化之後項目內的 webpack 配置和 npm 腳本。從一開始vue-cli 就是這樣的設計意圖,項目真正的工具鏈在項目模板裡面而不是 CLI 裡面。
相比之下 @angular/cli 是一個全包式的命令行工具,一切都是通過 `ng` 來執行,但這不代表 `ng` 有的命令Vue就沒有對應的功能 —— 比如在vue-cli 生成的項目裡面:
npm run dev 對應 ng serve
npm run build 對應 ng build
npm run lint 對應 ng lint
npm run unit 對應 ng test
npm run e2e 對應 ng e2e
除了 i18n 之外,@angular/cli 有的Vue都有。『很多日常開發必備的功能都需要開發者自己去下載配置第三方的Node模塊』這句話是一個事實上的錯誤。看起來大漠連vue-cli 生成的項目都沒跑過就急著寫文章了呢。
其次,CLI 命令/參數多 =更優秀?並沒有這樣的道理,create-React-app 估計要哭暈在廁所了。如果我們仔細看看文中的截圖,ng build 的多個參數,其實就是對應不同的底層 webpack 配置。說實話,我相信不僅僅是我,對於很多其他開發者而言,更寧可直接閱讀 webpack 的文檔來調整真正的 webpack 配置(並且可以 commit 進項目),而不是去額外學習一套由 Angular 封裝的抽象,因為實際生產中需求千變萬化,完全被 CLI 封裝的配置不利於二次開發。
實事求是地說,@angular/cli 確實有一些值得學習的地方,比如 ng serve 對 SSL 的支持。我們也會在新版本的vue-cli 中持續吸收改進,但連vue-cli 能做什麼都沒弄清楚就拿玩具來打比方,只能貽笑大方了。
非同步載入模塊
我不知道為什麼大漠又截了個不知哪裡的舊中文文檔的圖,還沒截全 —— 最新的關於非同步載入的文檔是下面這兩個鏈接:
文檔中關於非同步組件的部分
路由文檔關於路由懶載入的部分
Vue將一個組件(以及其所有依賴)改為非同步載入,所需要的只是把:
改成
就這么簡單。這里注意三點:
當這樣分割的時候,該組件所依賴的其他組件或其他模塊都會自動被分割進對應的 chunk 里,不存在大漠所暗示的『手動改 500 個組件』這樣的情況。況且兩邊代碼分割的功能都是 webpack 提供的,我真不知道大漠是真的不懂還是故意誤導。
所謂的路由級別的分割,只需要把這個組件作為路由組件就可以了,甚至連路由配置表都不用改。
更重要的是這樣的非同步組件並不一定只能用在路由層面 —— 任何你要用到一個組件的地方,都可以用非同步組件無縫替換之,這種靈活性是 Angular 的 loadChildren 根本無法比擬的。比如一個動態的長表單頁面,你甚至可以根據用戶目前的輸入來動態抓取表單接下來的部分(這個用例還是 wepback 的維護者 Sean Larkin 發現並用在生產中的)。
單元測試和集成測試
—— 事實錯誤。vue-cli 的 webpack 模板內置了開箱即用的 Karma + Jasmine 配置,自帶了一個初始測試用例,npm run unit 即可。這又雙一次證明大漠根本沒有跑過vue-cli 生成的項目。
Vue的單測不僅僅支持 Karam + Jasmine - 事實上社區有廣泛的單測反饋,對於 Jest, Ava 都有實踐,我們正在開發中的官方的單測工具庫vue-test-utils (由社區最流行的單測庫 avoriaz 的開發者開發)會進一步簡化常見的組件單測斷言需求,並且還會有和所有主流 test runner 的整合指南。
—— again,事實錯誤。vue-cli 的 webpack 模板內置了開箱即用的 Nightwatch + Selenium E2E 測試配置,自帶了一個初始測試用例,npm run e2e 即可。這又雙叒一次證明大漠根本沒有跑過vue-cli 生成的項目。
—— 集成測試這種東西,有什麼技術門檻可言,還需要抄么?順便說一句,vue-cli 初始化的項目可是早比 @angular/cli 正式發布前就已經自帶集成測試了...
㈧ Vue.js 2.0 獨立構建和運行時構建的區別
Vue.js 的運行過程實際上包含兩步。
第一步,將字元串模板(template)編譯為渲染函數(render),稱之為編譯過程;
第二步,運行時實際調用編譯的渲染函數,稱之為運行過程。
由於 Vue.js 1.0 的編譯過程需要依賴瀏覽器的 DOM,所以無法(或者說沒有意義)將編譯器和運行時分開。因此在 Vue.js 1.0 分發包中,編譯器和運行時是打包在一起,都在瀏覽器端執行。