国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

詳解Vuex下Store的模塊化拆分實踐

2024-05-06 15:36:22
字體:
來源:轉載
供稿:網友

前言

最近的項目用到了 vue.js + vuex + vue-router 全家桶,版本為 >2.0,在搞Store的時候發現,圈子里大部分關于vuex的文章都是比較基礎的Demo搭建方式,很少有涉及到比較復雜的模塊化拆分的Store實踐,而且事實上也有朋友在實踐中問到過這方面的內容,vuex自身提供了模塊化的方式,因此在這里總結一下我自己在項目里的心得。

模塊化拆分

vue.js的項目文件結構在這里就不說了,大家可以通過vue-cli初始化項目,腳手架會為你搭建一個start項目的最佳實踐。

默認你已經搭架好了一個項目,而且需要建立或者已經是一個復雜的Store,但是還沒有進行模塊拆分,你可以嘗試對其進行模塊拆分,當然在一開始你不必一定需要這么做。

1. 安裝Vuex,建立文件結構

在項目根目錄下安裝vuex:

npm install vuex -S

安裝完畢后,在項目的src文件夾下新建一個store文件夾,并且分別在其中新建modules,actions,mutations,getters,constants子文件夾和一個index.js文件。

目錄結構如下:

└─ demo/  ├── build/  ├── config/  ├── node_modules/  ├── src/  │  ├── assets/  │  ├── components/  │  ├── store/  │  │  ├── actions/   │  │  │  ├──aAction.js  │  │  │  ├──bAction.js  │  │  │  └──cAction.js  │  │  ├── constants/  │  │  │  └── types.js  │  │  ├── getters/  │  │  │  └── aGetter.js  │  │  ├── modules/  │  │  │  ├── aModules.js  │  │  │  ├── bModules.js  │  │  │  ├── cModules.js  │  │  │  └── index.js  │  │  ├── mutations/  │  │  │  ├── aMutation.js  │  │  │  ├── bMutation.js  │  │  │  └── cMutation.js  │  │  └── index.js  │  ├── App.vue  │  └── main.js  ├── static/  ├── utils/  ├── test/  └── index.html

好了,基本的文件結構大概就是上面?這樣的。

2. 編寫模塊A

在編寫模塊之前,首先設定一些type類,例如:

types.js

module.exports = keyMirror({  FETCH_LIST_REQUEST: null,  FETCH_LIST_SUCCESS: null,  FETCH_LISR_FAILURE: null  })function keyMirror (obj) { if (obj instanceof Object) {  var _obj = Object.assign({}, obj)  var _keyArray = Object.keys(obj)  _keyArray.forEach(key => _obj[key] = key)  return _obj }}

上面自己實現keyMirror的方法,大家也可以使用下面這個包:

https://github.com/STRML/keyMirror

keyMirror的作用就是下面這個一個形式?,作用其實也不是很大:

Input: {key1: null, key2: null}

Output: {key1: key1, key2: key2}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 周至县| 南阳市| 大厂| 成安县| 满城县| 称多县| 望江县| 尉氏县| 杭州市| 芦山县| 通州市| 柳林县| 平原县| 安化县| 黎平县| 彭阳县| 特克斯县| 万荣县| 小金县| 濮阳市| 阿尔山市| 高邑县| 黎川县| 左权县| 天峨县| 竹山县| 肇庆市| 冕宁县| 贵南县| 房产| 洮南市| 宁化县| 静乐县| 龙胜| 博湖县| 贺州市| 伊吾县| 如东县| 卢氏县| 茌平县| 沂水县|