vue項目開發基本目錄結構

§ 目錄結構

.
├── build/               # Webpack 配置目錄
├── dist/                # build 生成的生產環境下的項目
├── src/                 # 源碼目錄(開發都在這裏進行)
│   ├── assets/            # 放置須要經由 Webpack 處理的靜態文件
│   ├── components/        # 組件
│   ├── filters/           # 過濾器
│   ├── store/         # 狀態管理
│ ├── routes/ # 路由 │ ├── services/ # 服務(統一管理 XHR 請求) │ ├── utils/ # 工具類 │ ├── views/ # 路由頁面組件 │ ├── app.js # 啓動文件 │ ├── index.html # 靜態基頁 ├── static/ # 放置無需經由 Webpack 處理的靜態文件 ├── .babelrc # Babel 轉碼配置 ├── .eslintignore # (配置)ESLint 檢查中需忽略的文件(夾) ├── .eslintrc # ESLint 配置 ├── .gitignore # (配置)需被 Git 忽略的文件(夾) ├── package.json # (這個就不用多解釋了吧)
├── package-lock.json    # (以記錄當前狀態下實際安裝的各個npm package的具體來源和版本號)
 

您能夠根據業務需求改動目錄結構html

 

上述目錄結構中,須要注意的是 src/components/ 與 src/views/ 的區別vue

src/components/                    # 組件
    ├── App.vue                      # 根組件
    ├── Breadcrumb.vue               # 麪包屑
    ├── Navbar.vue                   # 頂部導航欄
    ├── Pagination.vue               # 分頁
    ├── Select/                      # 下拉框選擇框組件
    │   ├── LimitSelect.vue            # 「每頁顯示多少條記錄」 下拉選擇框
    │   └── Select2.vue                # 對 Select2 的封裝
    └── Sidebar/                     # 側邊欄組件
        ├── index.vue                  # 側邊欄
        └── Link.vue                   # 導航連接封裝

src/views/                         # 路由頁面組件
    ├── index.vue                    # 首頁
    ├── auth/                        # 用戶認證模塊
    │   ├── login.vue                  # 登陸頁
    │   └── logout.vue                 # 註銷登陸頁
    └── msg/                         # 留言板模塊
        ├── index.vue                  # 對應 /msg(留言板首頁,alias => /msg/list)
        ├── list.vue                   # 對應 /msg/list(留言板列表)
        ├── add.vue                    # 對應 /msg/add(新增留言)
        ├── detail.vue                 # 對應 /msg/detail/:msgId(查看留言)
        ├── update.vue                 # 對應 /msg/update/:msgId(修改留言)
        ├── _components/               # 留言板模塊共用組件
        │   ├── AuthorSelect.vue         # 留言發佈者選擇下拉框
        │   ├── MsgForm.vue              # 留言表單
        │   └── OptBtnGroup.vue          # 留言操做按鈕組
        └── _mixins/                   # 留言板模塊共用 mixins
            └── autoLoadByParams.js      # 根據 $route.params.msgId 自動加載

根據註釋,咱們大概知道了兩者的差異:git

src/components/

  • 主要是全局性的,或通用性很強的組件,具有良好的封裝性
  • 通常不會涉及到具體的業務邏輯

src/views/

  • 主要是業務性的頁面組件,基本不具有通用性
  • 基本與路由一一對應(例如 /src/views/auth/login.vue 對應着路由 /auth/login
  • 各功能模塊(如 msg/)內部可分離出通用部分(如 _components/_mixins/

若多個功能模塊通用的,則建議移到全局,即 src/components/src/mixins/ 等npm

相關文章
相關標籤/搜索