vue全家桶
在我們?cè)诳紤]vue的項(xiàng)目技術(shù)棧的前提是我們需要了解vue的全家桶都有什么,做什么用的:
是一套用于構(gòu)建用戶界面的漸進(jìn)式框架。與其它大型框架不同的是,Vue 被設(shè)計(jì)為可以自底向上逐層應(yīng)用。Vue 的核心庫只關(guān)注視圖層,不僅易于上手,還便于與第三方庫或既有項(xiàng)目整合。另一方面,當(dāng)與現(xiàn)代化的工具鏈以及各種支持類庫結(jié)合使用時(shí),Vue 也完全能夠?yàn)閺?fù)雜的單頁應(yīng)用提供驅(qū)動(dòng)。
Vuex 是什么?
Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式。它采用集中式存儲(chǔ)管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)以一種可預(yù)測(cè)的方式發(fā)生變化。Vuex 也集成到 Vue 的官方調(diào)試工具 devtools extension,提供了諸如零配置的 time-travel 調(diào)試、狀態(tài)快照導(dǎo)入導(dǎo)出等高級(jí)調(diào)試功能。
什么情況下我應(yīng)該使用 Vuex?
雖然 Vuex 可以幫助我們管理共享狀態(tài),但也附帶了更多的概念和框架。這需要對(duì)短期和長期效益進(jìn)行權(quán)衡。
如果您不打算開發(fā)大型單頁應(yīng)用,使用 Vuex 可能是繁瑣冗余的。確實(shí)是如此——如果您的應(yīng)用夠簡單,您最好不要使用 Vuex。一個(gè)簡單的 global event bus 就足夠您所需了。但是,如果您需要構(gòu)建是一個(gè)中大型單頁應(yīng)用,您很可能會(huì)考慮如何更好地在組件外部管理狀態(tài),Vuex 將會(huì)成為自然而然的選擇。
Vuex如何去配置,那些東西應(yīng)該放在store?State、Getters、Mutations、Actions、Module如何去處理?
使用預(yù)處理器
在 webpack 中,所有的預(yù)處理器需要匹配對(duì)應(yīng)的 loader。vue-loader 允許你使用其它 webpack loader 處理 Vue 組件的某一部分。它會(huì)根據(jù) lang 屬性自動(dòng)推斷出要使用的 loader。
用 Vue.js + vue-router 創(chuàng)建單頁應(yīng)用,是非常簡單的。使用 Vue.js ,我們已經(jīng)可以通過組合組件來組成應(yīng)用程序,當(dāng)你要把 vue-router 添加進(jìn)來,我們需要做的是,將組件(components)映射到路由(routes),然后告訴 vue-router 在哪里渲染它們。
vue-router應(yīng)該如何去分配,怎么做才是最優(yōu)的,傳遞參數(shù)是采用params的方式還是query的方式.
Vux(讀音 [v'ju:z],同views)是基于WeUI和Vue(2.x)開發(fā)的移動(dòng)端UI組件庫,主要服務(wù)于微信頁面。
基于webpack+vue-loader+vux可以快速開發(fā)移動(dòng)端頁面,配合vux-loader方便你在WeUI的基礎(chǔ)上定制需要的樣式。
vux-loader保證了組件按需使用,因此不用擔(dān)心最終打包了整個(gè)vux的組件庫代碼。
vux并不完全依賴于WeUI,但是盡量保持整體UI樣式接近WeUI的設(shè)計(jì)規(guī)范。最初目標(biāo)是創(chuàng)建一個(gè)易用,實(shí)用,美觀的移動(dòng)端UI組件庫。
webpack
webpack 是一個(gè)現(xiàn)代 JavaScript 應(yīng)用程序的靜態(tài)模塊打包器(module bundler)
webpack-dev-server
單元測(cè)試Jest
Jest是Facebook開發(fā)的一個(gè)對(duì)javascript進(jìn)行單元測(cè)試的工具,之前僅在其內(nèi)部使用,后開源,并且是在Jasmine測(cè)試框架上演變開發(fā)而來,使用了我們熟知的expect(value).toBe(other)這種斷言格式。
eslint
ESLint 是一個(gè)開源的 JavaScript 代碼檢查工具。代碼檢查是一種靜態(tài)的分析,常用于尋找有問題的模式或者代碼,并且不依賴于具體的編碼風(fēng)格。對(duì)大多數(shù)編程語言來說都會(huì)有代碼檢查,一般來說編譯程序會(huì)內(nèi)置檢查工具。
使用Nightwatch進(jìn)行E2E測(cè)試
E2E(end to end)測(cè)試是指端到端測(cè)試又叫功能測(cè)試,站在用戶視角,使用各種功能、各種交互,是用戶的真實(shí)使用場景的仿真。在產(chǎn)品高速迭代的現(xiàn)在,有個(gè)自動(dòng)化測(cè)試,是重構(gòu)、迭代的重要保障。對(duì)web前端來說,主要的測(cè)試就是,表單、動(dòng)畫、頁面跳轉(zhuǎn)、dom渲染、Ajax等是否按照期望。
Vue調(diào)試神器vue-devtools安裝
vue-devtools是一款基于chrome游覽器的插件,用于調(diào)試vue應(yīng)用,這可以極大地提高我們的調(diào)試效率。接下來我們就介紹一下vue-devtools的安裝。
前端調(diào)試工具vConsole
axios
Axios 是一個(gè)基于 promise 的 HTTP 庫,可以用在瀏覽器和 node.js 中。
好了,了解了這些,我們可以進(jìn)行開發(fā)啦