⑴ 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是什麼軟體
vue官網說:Vue.js(讀音 /vjuː/,類似於 view) 是一套構建用戶界面的漸進式的JavaScript框架。與其他重量級框架不同的是,Vue 採用自底向上增量開發的設計。
1、易用
已經會了 HTML、CSS、JavaScript,即可閱讀指南開始構建應用!
2、靈活
不斷繁榮的生態系統,可以在一個庫和一套完整框架之間自如伸縮。
3、高效
虛擬的DOM的核心思想是:對復雜的文檔DOM結構,提供一種方便的工具,進行最小化地DOM操作。
(1) 提供一種方便的工具,使得開發效率得到保證
(2) 保證最小化的DOM操作,使得執行效率得到保證
(2)vue最好編譯工具擴展閱讀
1、Vue的核心庫只關注視圖層,並且非常容易學習,非常容易與其它庫或已有項目整合。
2、Vue的目標是通過盡可能簡單的 API 實現響應的數據綁定和組合的視圖組件。
3、Vue可以做從簡單到復雜的前端單頁應用,隨處可見的Web前端都可以用Vue來開發。而且Vue上手速度快、功能強大,且提供了非常好用的腳手架vue-cli,很簡單就可以構建並讓自己的項目跑起來。
參考資料
網路-Vue.js
⑶ vue: WebStorm設置快速編譯運行的方法
WebSorm是一款優秀的前端開發工具,而Vue項目可以使用Node進行編譯運行,平常我們可以通過命令行部署項目進行調試。
本文介紹設置Webstorm進行快速部署Vue項目。
第一步
點擊啟動快捷按鈕旁邊的向下小箭頭,在列表中選擇Edit選項:
第二步
打開啟動設置頁面後,點擊左上角的加號添加新的運行方式:
第三步
在彈出的選擇框中,選擇node.js啟動模式:
第四步
在新打開的設置頁面中,在紅色圈中的地方設置如圖路徑的文件:
至此設置成功,直接點啟動按鈕就可以部署項目。
以上這篇vue:
WebStorm設置快速編譯運行的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:webstorm添加*.vue文件支持webstorm添加vue.js支持的方法教程webstorm中vue語法的支持詳解webstorm和.vue中es6語法報錯的解決方法詳解Webstorm
新建.vue文件支持高亮vue語法和es6語法
⑷ 有沒有webpack+VueJs+ES6的比較好的示例
webpack作為初級編譯工具, gulp作為最終編譯工具,來定位比較好解釋,webpack可以很方便引用node_mole包,降級es6,樣式注入等,作為最初級的功能定位性價比最高,webpack輸入輸出都以js為主,對html兼顧較少
⑸ vue 的優點是什麼
Vue 的獨特優勢
Vue 和其他前端框架相比,在結構、樣式、業務分離等方面更清晰徹底,更符合前端多年來的編碼習慣,更符合直覺、更容易學習和維護。
入門非常容易,資料豐富,框架功能完善,加入非常多的特性,例如,if, for, async,為開發者節省很多垃圾代碼。模板支持 html 和 jsx,支持自定義指令,方便操作 dom 的一致行為。
一、門檻低、上手快
Vue 上手簡單的原因是無需復雜配置,只需要一個 HTML 與相關文件就能跑起來。從設計的角度上來看,Vue 考慮的也是如何降低門檻,讓只掌握了 Web 基礎知識 (HTML, CSS, JS) 的情況下,能夠最快理解和上手,從而實現和完成一個應用。
和 React、Angular 相比,Vue 的中文文檔是寫的最好的,再加上國內有非常豐富的視頻、圖文教程、各種開源的插件,哪怕是一個新手前端開發,學習一周左右就可以搞一個項目出來。就如我們開頭所說,配合第三方前端表格控制項 SpreadJS,自學一周就能做出一個企業級的表格協同文檔。所以,它對於非專業前端,或者前端入門人士來說是非常適合的。
其次,Vue 設定多,所以需要思考的就少。屬性指令定義了一大堆,API 文檔整理好的就在那裡,需要什麼一查,最佳實踐的 demo 寫好了放在那邊,照著寫就 OK 了。
二、人性化,符合用戶習慣
React 的設計理念是提供強大而復雜的機制,讓開發者來適應我;而 Vue 則是為了更適應開發者的使用習慣,在很多設定上都是讓開發者怎麼爽怎麼來。
比如 Vue 的 API 跟傳統 Web 開發者熟悉的模板契合度非常高。Vue 的單文件組件是以模板+JavaScript+CSS 的組合模式呈現,它跟 Web 現有的 HTML、JavaScript、CSS 能夠更好地配合;Vue 提供反應式的數據,當數據改動時,界面就會自動更新,而 React 裡面則還需要調用方法 SetState。
三、Vue + 第三方控制項 = 效率高 & 使用便利 & 組件化架構
前面我們提到了 Vue 的兩個基礎特性,但能成為時代的發展趨勢,說明 Vue 的能力遠不止於此。
從我們團隊嘗試使用 Vue 的情況來看,Vue 使用起來異常簡單,它從 React 那裡借鑒了組件化、prop、單向數據流、性能、虛擬渲染,並意識到狀態管理的重要性,並從 Angular 那裡借鑒了模板,並賦予了更好的語法,以及雙向數據綁定(在單個組件里),它不強制使用某種編譯器,所以你完全可以在遺留代碼里使用 Vue,並對之前亂糟糟的 jQuery 代碼進行改造。
即便,仍然有很多人認為 Vue 只適合開發簡單的網站或者單頁面應用,但其實 Vue 有著比 React 和 Angular 更為豐富多元的第三方控制項資源。配合這些資源使用,Vue 做企業級項目甚至比其他框架來的更加便利高效。
⑹ 什麼編輯器寫Vue比較好
我個人認為是vue好,因為vue的功能比bryce強大多了!在自然景觀的建模上、材質上、樹木上、大氣上幾乎都超過bryce!特別是vue的山體函數編輯器、生態系統和大氣編輯器。在bryce中沒有生態系統,而且雲霧效果遠不如vue,只能用貼圖來製作雲彩,而vue的雲彩完全是3D的等等。總之我覺得Vue好很多
⑺ 手寫實現vue3數據響應式 vue3全新vdom+編譯器改進vue3編譯器流程\x09vue3 p
摘要 reactive## 關於Vue3
⑻ 寫vue.js 應該用什麼編輯器/IDE 才是最好的呢
這里的組件化開發是使用什麼??vue-loader么如果是vue-loader可以通過require來引入就可以比如Js文件寫到assets/js中在main.js中可以require('./src/assets/xxx.js')如果只是單頁面html,可以直接引入就行了
⑼ vue用什麼開發工具好
一般用vscode。
微軟的這個軟體在代碼支持程度上還是比較成熟的,對vue方面有插件支持檢查和自動化處理,可以很方便管理vue代碼。
⑽ vue如何使用vuex,vuex是vuex.js文件嗎
vue有自己的腳手架構建工具vue-cli,使用起來非常方便,使用webpack來集成各種開發便捷工具,比如:代碼熱更新,修改代碼之後網頁無刷新改變,對前端開發來說非常的方便PostCss,再也不用去管兼容性的問題了,只針對chrome寫css代碼,會自動編譯生成支持多款瀏覽器的css代碼Eslint,統一代碼風格,規避低級錯誤,對於有代碼潔癖的人來說是絕對的好東西,不過有些地方的代碼校驗有時候也挺麻煩的-.-bable,ES2015出來已經有一段時間了,但是不少瀏覽器還沒有兼容ES6.有了bable,放心使用ES6語法,它會自動轉義成ES5語法。Stylus,類似於SASS/SCSS,但是可以不寫{}和「:」,使用起來還是很方便的…除此之外,vue-cli已經使用node配置了一套本地伺服器和安裝命令等,本地運行和打包只需要一個命令就可以搞定,非常的方便開發vue非常好的融合了react的組件化思想和angular的指令思想。一個vue的組件將HTML、CSS、JS代碼寫在一個文件裡面,這樣既方便編寫,也方便管理和修改Axios在vue1.x的時候,vue的官方推薦HTTP請求工具是vue-resource,但是在vue2.0的時候將推薦工具改成了axios。使用方式都差不多,但需要注意的是:介面返回的res並不直接是返回的數據,而是經過axios本身處理過的json對象。真正的數據在res.data里:axios.get(url).then((res)=>{this.data=res.data})Vuexvue提供了一個數據管理工具vuex,有點類似於angular中factory和service,可以進行數據上的通信。比如存儲一些公共變數或者是不同組件間的數據處理等。這個有一些高級用法在這里不細說,想要了解的可以去官方文檔看,有中文版本。conststore=newVuex.Store({state:{count:0},mutations:{increment(state){state.count++}}})Vue-Routervue-router是vue的路由系統,可以用來創建單頁應用。基本思想是在主頁面中引入標簽,然後定義路由,把router掛在到app上,然後把各個子頁面渲染到view裡面。使用起來還是很方便的,跳轉頁面只需要router.push('test')獲取元素節點vue2.0廢除了v-el指令,所有的節點指令修改為ref,然後通過ref來獲取元素節點,如testjscodethis.$ref.testHook組件間的通信一。如果是和子組件通信,則使用ref就可以實現,如:jscodethis.$ref.testHook.add()//調用test子組件的add方法二。使用emit來發送廣播vue2提供了一套廣播機制,即一邊發送廣播,一邊接收廣播來執行相應操作。使用方法如下:比如想要給test組件發送一個「相加」廣播:exportdefault{method:{click(){Vue.$emit('add',{})//第二個參數可作為傳遞數據傳送到監聽埠,不需要則傳空對象}}}那麼test組件中就需要監聽,在created方法里寫exportdefault{created(){Vue.$on('add',this.add)},method:{add(){this.count++}}}除了以上總結的這點小的知識點以外,還有很多vue的知識想要和大家分享,以後會陸續寫出來,大家感興趣的也可以來我的GitHub一起來寫這個項目(覺得不錯的給個starHah)