覆盤Vue構建SPA的配置項與Vuex的使用

2021-09-19 05:41:24 字數 2278 閱讀 6318

首先,安裝vue包檔案,匯入包檔案(import vue from 『vue』),建立vue例項;

這其中存在乙個問題,即使用import匯入的vue建構函式功能不完整,只提供了runtime-only版本;了解runtime-only_

這個問題有兩種解決思路,匯入正確的vue檔案,繼續使用runtime-only檔案,新增loader解析vue的元件檔案;

第一種方式,直接使用import從正確的路徑下匯入vue檔案;

第二種方式,在webpack.config.js檔案中新增配置項,修改匯入vue包的路徑;

這也是第一種方式匯入檔案的正確路徑;

先說一下vue元件檔案的模板**塊吧!元件檔案分為三塊,如下圖所示:

從圖中的標籤名就可以看出模板檔案的中**塊的作用,template標籤內定義html模板**,script標籤內則定義渲染模板所需要的資料方法,最後style則定義模板檔案的樣式,新增scoped即表示樣式只會應用於當前元件,lang屬性可以指定書寫css**的方式,即可以書寫原生css,也可以使用less/scss;

當我們將元件構建完畢之後,便可以將其匯入其他檔案進行使用,但是匯入元件後webpack是無法進行打包的,這就需要新增loader幫我們將元件檔案進行編譯;

npm安裝vue-loader,因為vue-loader內部依賴vue-template-compiler,所以也需要對其進行安裝;

安裝完畢後進入配置階段,即在webpack.config.js的規則集rules中新增對vue檔案的處理方式;

配置完畢後會發現webpack打包依舊失敗了,因為還需要借助vueloaderplugin外掛程式,所以需要使用npm安裝後在webpack配置檔案中進行配置;

首先,匯入外掛程式;

然後需要在plugins內建立外掛程式例項;

一系列做下來,即使採用runtime-only版本進行專案開發需要借助的工具介紹;

當專案進行到**購物車環節的時候,需要實現**中的商品新增數量需要與購物車做到一致,如果直接實現同步的話,設計到複雜的元件之間的傳值,所以我們引入了公共資料管理工具vuex,下面就來介紹一下vuex的使用方式;

一、匯入註冊

使用npm進行安裝後,使用import將vuex匯入口檔案進行註冊;

二、建立例項

三、掛載至vue例項

以上三步完成,專案已具有了全域性倉儲;下面來講解一下vuex到底怎麼使用;

在state內定義及全域性共享的資料,在元件中獲取資料的方式:this.$store.state.資料名

mutations內定義對資料進行操作的函式,不建議對資料直接進行修改,而是通過函式對資料進行間接操作;

函式的第乙個引數為state,所以在函式中訪問公共倉庫中的共享資料的方式:state.資料名;

在元件內使用mutations內的方法對資料進行操作,呼叫mutations內函式的方式:this.$store.commit(方法名,引數)

注意,引數項最多只能傳入兩個引數,如果傳遞資料過多,可考慮傳遞物件或者陣列;

getters內用於定義獲取資料的函式,更確切的說是對資料進行包裝然後返回給呼叫者,引用getters內的函式,當函式內資料發生變化時,會觸發重新計算,使資料能夠實時更新;引用getters內函式的方式:$store.getters.函式名;還有一點,函式的第乙個引數仍是倉儲的state屬性;

基於vue構建的spa專案總結 一

作為學習前端第乙個完整的專案,有必要記錄一下這兩個月來的心得和踩過的坑。專案為乙個工業大資料spa,功能主要為csv上傳與管理,基於csv進行的 繪製與相關基於echarts的圖表繪製。使用到的技術有vue vue router vuex vue resource sass。本文分為3個部分 路由設...

2020商業風口覆盤 巨變下的重構與新生

轉眼間,2020就落下了帷幕。雖說大環境談不上理想,但商業世界也在巨變中不斷迭代向前,舊的商業模式正在被打破,新的商業正規化正在被構建。行至2021伊始,讓我們在過往一整年商業變革的回顧中,鋪陳出對未來的啟發與期待。與此同時,直播帶貨的翻車頻率也在逐步上公升,繁榮背後的泡沫開始被消費者戳破。辛巴假燕...

vue中的watch監聽的配置項

可以對頁面中已經定義好的變數進行監聽,一旦變數值發生了改變,那麼就可以執行一定操作。語法格式一 new vue 語法格式二 new vue 如果要監聽的變數型別為物件或者陣列時,普通監聽無法實現監聽變化的效果,需要使用深度監聽 例如 有請求需要再也沒初始化的時候就執行一次,然後監聽他的變化 新增乙個...