每個項目在最開始搭建的時候都需要劃分若干個模塊姿搜,確認項目規(guī)范舷礼,下面就讓我們來討論一下項目中如何劃分模塊候齿。
本文還是基于vue-cli迄靠,代碼GitHub - wangkai123456/learnVueAdmin at v2
大體思路
當拿到一個項目的時候我們首先要去想,我們會用到哪些東西卓缰,比如element-ui计呈、vuex等等,還會用到vue本身的一些功能比如組件化征唬、過濾器等等這些捌显,所以我們基于我們用到的這些東西劃分出來不同的模塊。
組件模塊
在做項目的時候我們可能會需要若干的組件总寒,我們通常會把組件放到一個統(tǒng)一的目錄(src/components)里面統(tǒng)一管理扶歪,然后會把組件注冊成全局組件。然后在main(入口文件)引入摄闸。在使用的時候就不需要引入在注冊組件善镰,直接使用即可。
組件名一般與name一致
在index里面統(tǒng)一注冊成全局組件年枕,這里使用的語法不做過多解釋炫欺,主要理解劃分思路。
使用
插件模塊
我們項目中會引入若干大大小小的第三方插件比如element-ui熏兄、富文本品洛、地圖等等树姨,通常這些會直接main.js(項目入口文件)文件直接引入這樣的話會導致main文件異常的臃腫,所以我們會編寫一個插件模塊毫别,來統(tǒng)一導出我們用到的插件,然后在main文件直接引入典格。在src目錄下新建plugins目錄岛宦,然后根據現有的插件分別創(chuàng)建幾個文件比如element-ui 就創(chuàng)建一個element-ui文件
統(tǒng)一導出所有插件
過濾器模塊
項目中可能會有時間戳轉換成時間或者百分位加逗號等,這類需求大多都是通過過濾器來完成耍缴,所以我們需要一個過濾器模塊砾肺,在src目錄下新建一個filters目錄,每個過濾器就是一個文件防嗡,然后在index里面統(tǒng)一注冊成全局過濾器变汪,最后在main(入口文件)引入。下面以時間過濾器為例
編寫時間過濾器(可能有點亂??蚁趁,主要看思路)
在index里面統(tǒng)一注冊裙盾,使用的時候,不需要引入和注冊
通用方法模塊
項目中會有一些通用的邏輯可能很多個文件都需要他嫡,所以我們把那些通用方法都放到一個目錄下番官,然后配置一下webpack的配置在需要的頁面引入使用。在src目錄下新建utils目錄钢属,根據不同的功能編寫不同的文件然后統(tǒng)一導出徘熔,下面以分頁方法為例
編寫分頁功能
index 文件統(tǒng)一導出
由于我們會在不同的文件里經常使用這些通用方法,所以我們在webpack里面配置一個通用的路徑
頁面使用
API(網絡請求)模塊
我們把所有的網絡請求按照功能分模塊分別放在src下的api目錄下淆党,比如登錄功能屬于Account模塊酷师,那么我們就在api目錄下新建Account文件,然后在index里統(tǒng)一導出染乌。
Account文件
index文件統(tǒng)一導出api山孔,然后我們想配置utils的路徑一樣配置一下api 的路徑。api模塊里面的函數荷憋,使用和utils一致
統(tǒng)一在main(入口文件)引入
總結
以上就是一些項目的基礎配置饱须,當然還有很多沒有拿出來討論,比如路由台谊,vuex等等這些蓉媳,在實際做項目的時候還會遇到很多可以單獨拿出來的模塊,基本思路就是按照功能劃分锅铅,然后統(tǒng)一導出酪呻,方便實用。大家有哪些地方希望一起討論的歡迎留言盐须。