每個項目在最開始搭建的時候都需要劃分若干個模塊,確認項目規范,下面就讓我們來討論一下項目中如何劃分模塊。
本文還是基于vue-cli,代碼GitHub - wangkai123456/learnVueAdmin at v2
大體思路
當拿到一個項目的時候我們首先要去想,我們會用到哪些東西,比如element-ui、vuex等等,還會用到vue本身的一些功能比如組件化、過濾器等等這些,所以我們基于我們用到的這些東西劃分出來不同的模塊。
組件模塊
在做項目的時候我們可能會需要若干的組件,我們通常會把組件放到一個統一的目錄(src/components)里面統一管理,然后會把組件注冊成全局組件。然后在main(入口文件)引入。在使用的時候就不需要引入在注冊組件,直接使用即可。
組件名一般與name一致
在index里面統一注冊成全局組件,這里使用的語法不做過多解釋,主要理解劃分思路。
使用
插件模塊
我們項目中會引入若干大大小小的第三方插件比如element-ui、富文本、地圖等等,通常這些會直接main.js(項目入口文件)文件直接引入這樣的話會導致main文件異常的臃腫,所以我們會編寫一個插件模塊,來統一導出我們用到的插件,然后在main文件直接引入。在src目錄下新建plugins目錄,然后根據現有的插件分別創建幾個文件比如element-ui 就創建一個element-ui文件
統一導出所有插件
過濾器模塊
項目中可能會有時間戳轉換成時間或者百分位加逗號等,這類需求大多都是通過過濾器來完成,所以我們需要一個過濾器模塊,在src目錄下新建一個filters目錄,每個過濾器就是一個文件,然后在index里面統一注冊成全局過濾器,最后在main(入口文件)引入。下面以時間過濾器為例
編寫時間過濾器(可能有點亂??,主要看思路)
在index里面統一注冊,使用的時候,不需要引入和注冊
通用方法模塊
項目中會有一些通用的邏輯可能很多個文件都需要,所以我們把那些通用方法都放到一個目錄下,然后配置一下webpack的配置在需要的頁面引入使用。在src目錄下新建utils目錄,根據不同的功能編寫不同的文件然后統一導出,下面以分頁方法為例
編寫分頁功能
index 文件統一導出
由于我們會在不同的文件里經常使用這些通用方法,所以我們在webpack里面配置一個通用的路徑
頁面使用
API(網絡請求)模塊
我們把所有的網絡請求按照功能分模塊分別放在src下的api目錄下,比如登錄功能屬于Account模塊,那么我們就在api目錄下新建Account文件,然后在index里統一導出。
Account文件
index文件統一導出api,然后我們想配置utils的路徑一樣配置一下api 的路徑。api模塊里面的函數,使用和utils一致
統一在main(入口文件)引入
總結
以上就是一些項目的基礎配置,當然還有很多沒有拿出來討論,比如路由,vuex等等這些,在實際做項目的時候還會遇到很多可以單獨拿出來的模塊,基本思路就是按照功能劃分,然后統一導出,方便實用。大家有哪些地方希望一起討論的歡迎留言。