day04
## 一、模塊化開發
### 1. vue-router模塊化
cnpm install vue-router -S
#### 1.1 編輯main.js
#### 1.2 編輯App.vue
#### 1.3 編輯router.config.js
### 2. axios模塊化
cnpm install axios -S
使用axios的兩種方式:
方式1:在每個組件中引入axios
方式2:在main.js中全局引入axios並添加到Vue原型中
### 3. 爲自定義組件添加事件
## 二、 Elment UI
### 1. 簡介
Element UI是餓了麼團隊提供的一套基於Vue2.0的組件庫,可以快速搭建網站,提高開發效率
ElementUI PC端
MintUI 移動端
[官網](http://element.eleme.io/)
### 2. 快速上手
#### 2.1 安裝elment ui
cnpm install element-ui -S
#### 2.2 在main.js中引入並使用組件
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-default/index.css' //該樣式文件需要單獨引入
Vue.use(ElementUI);
這種方式引入了ElementUI中所有的組件
#### 2.3 在webpack.config.js中添加loader
CSS樣式和字體圖標都需要由相應的loader來加載,所以需要style-loader、css-loader
默認並沒有style-loader模塊,所以需要單獨安裝
cnpm install style-loader --save-dev
#### 2.4 使用組件
#### 2.5 使用less
安裝loader,需要兩個:less、less-loader
cnpm install less less-loader -D
在webpack.config.js中添加loader
### 3. 按需引入組
#### 3.1 安裝babel-plugin-component
cnpm install babel-plugin-component -D
#### 3.2 配置.babelrc文件
"plugins": [["component", [
{
"libraryName": "element-ui",
"styleLibraryName": "theme-default"
}
]]]
#### 3.3 只引入需要的插件
## 三、 自定義全局組件(插件)
全局組件(插件):就是指可以在main.js中使用Vue.use()進行全局引入,然後在其他組件中就都可以使用了,如vue-router
import VueRouter from 'vue-router'
Vue.use(VueRouter);
普通組件(插件):每次使用時都要引入,如axios
import axios from 'axios'
## 四、 Vuex
### 1. 簡介
Vuex 是一個專爲 Vue.js 應用程序開發的狀態管理模式。它採用集中式存儲管理應用的所有組件的狀態,並以相應的規則保證狀態以一種可預測的方式發生變化。
簡單來說,用來集中管理數據,類似於React中的Redux,都是基於Flux的前端狀態管理框架
### 2. 基本用法
#### 2.1 安裝vuex
cnpm install vuex -S
#### 2.2 創建store.js文件,在main.js中導入並配置store.選項
#### 2.3 編輯store.js文件
Vuex的核心是Store(倉庫),相當於是一個容器,一個store實例中包含以下屬性的方法:
state 定義屬性(狀態、數據)
getters 用來獲取屬性
actions 定義方法(動作)
commit 提交變化,修改數據的唯一方式就是顯式的提交mutations
mutations 定義變化
注:不能直接修改數據,必須顯式提交變化,目的是爲了追蹤到狀態的變化
#### 2.4 編輯App.vue
在子組件中訪問store對象的兩種方式:
方式1:通過this.$store訪問
方式2:通過mapState、mapGetters、mapActions訪問,vuex提供了兩個方法:
mapState 獲取state
mapGetters 獲取getters
mapActions 獲取actions
### 3. 分模塊組織Vuex
|-src
|-store
|-index.js
|-getters.js
|-actions.js
|-mutations.js
|-modules //分爲多個模塊,每個模塊都可以擁有自己的state、getters、actions、mutations
|-user.js
|-cart.js
|-goods.js
|....
day05
## 一、 準備工作
###1. 初始化項目
vue init webpack itany
cd itany
cnpm install
cnpm install less less-loader -D
cnpm install vuex axios -S
npm run dev
### 2. 項目資源
|-reset.css
|-data.json
### 3. 創建目錄結構
首先清除項目中的部分內容
創建如下目錄結構:
|-data.json
|-static
|-css
|-reset.css
### 4. 配置API接口,模擬後臺數據
使用express框架啓動一個Node服務器,配置API接口,模擬後臺數據
測試API:
http://localhost:8080/api/seller
http://localhost:8080/api/goods
http://localhost:8080/api/ratings
## 二、項目整體結構開發