Vue項(xiàng)目的src目錄作用是什么

今天小編給大家分享一下Vue項(xiàng)目的src目錄作用是什么的相關(guān)知識點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

平安網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,平安網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為平安成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的平安做網(wǎng)站的公司定做!

Vue CLI

認(rèn)知一個項(xiàng)目從認(rèn)識目錄開始!Vue 項(xiàng)目那逃不過認(rèn)知最通用的 Vue CLI 目錄結(jié)構(gòu)。

如下(已顯示全部可選項(xiàng)):

--public  ----img  ------icons  ----favicon.ico  ----index.html  ----robots.txt  --src  ----assets  ------logo.png  ----components  ------HelloWorld.vue ----router  ------index.ts  ----store  ------index.ts  ----views  ------About.vue  ------Home.vue  ----App.vue  ----main.ts  ----registerServiceWorkers.ts  ----shims-vue.d.ts  --tests  ----e2e  ----unit  --.browserslistrc  --.eslintrc.js  --.gitignore  --babel.config.js  --cypress.json  --jest.config.js  --package.json  --package-lock.json  --README.md  --tsconfig.json

Vue CLI 目錄是非常標(biāo)準(zhǔn)的 Vue 項(xiàng)目結(jié)構(gòu),但是它并不適用于中型或大型應(yīng)用。

原因是:我們應(yīng)該花更多的精力去關(guān)注 src 文件夾!具體往下看。

新 src 目錄

閑言少敘,改造后的目錄結(jié)構(gòu):

src  --assets  --common  --layouts  --middlewares  --modules  --plugins  --router  --services  --static  --store  --views

讓咱們來一一揭曉為什么要設(shè)置這樣的目錄結(jié)構(gòu)!

Assets

靜態(tài)文件目錄:包含字體、圖標(biāo)、圖片、樣式等靜態(tài)資源,不做贅述。

Common

公共文件夾:通常來說,它又能被拆分成多個子目錄:components、mixins、directives,又或者是單個的文件:functions.ts、helpers.ts、constants.ts、config.ts,亦或者其它。但它們有共同的特點(diǎn):Common 文件夾下的文件都是在多出被引用的。

舉例:在 src/common/components 文件夾下,你可以設(shè)置 Button.vue 在全局共享的組件;在 helpers.ts 文件中寫公共方法以供多處調(diào)用。

Layouts

你可以在 Layouts 文件夾下放整個應(yīng)用的布局文件。

Middlewares

“中間件”這個文件夾有點(diǎn)類似 vue router,你可以在之下放置你的關(guān)于路由跳轉(zhuǎn)判斷文件。這里有個簡單的例子:

export default function checkAuth(next, isAuthenticated) {    if (isAuthenticated) {      next('/')    } else {      next('/login');    }  }

在 vue-router 中這樣使用

import Router from 'vue-router'  import checkAuth from '../middlewares/checkAuth.js'  const isAuthenticated = true  const router = new Router({    routes: [],    mode: 'history'  })  router.beforeEach((to, from, next) => {    checkAuth(next, isAuthenticated)  });

Modules

Modules 文件夾是咱們應(yīng)用的核心!

此文件夾關(guān)于應(yīng)用的業(yè)務(wù)邏輯部分,它有以下類:

  •  業(yè)務(wù)組件 components

  •  測試單元 **tests**

  •  數(shù)據(jù)持久 store

  •  其它本業(yè)務(wù)相關(guān)的文件

這里有個很棒的例子:訂單業(yè)務(wù)模塊

src  --modules  ----orders  ------__tests__  ------components  --------OrdersList.vue  --------OrderDetails.vue  ------store  --------actions.ts  --------getters.ts  --------mutations.ts  --------state.ts  ------helpers.ts  ------types.ts

包括:測試文件、組件(訂單列表、訂單詳情)、Vuex 數(shù)據(jù)、相關(guān)文件。

它又像是一個小的 src 目錄~

Plugins

Plugins 文件夾當(dāng)然是用來放 plugin。在 Vue2 中,我們這樣調(diào)用

import MyPlugin from './myPlugin.ts'  Vue.use(MyPlugin, { someOption: true })

Services

Services 文件夾是放請求庫和 API 的地方,也包括對 localStorage 的管理等。

Static

通常來說,我們不需要 Static 這個文件夾,但也可以放一些 dummy data (虛擬數(shù)據(jù))。

Router

Router 文件夾放置你的路由文件,太過常見、無需贅述。你也可以根據(jù)需要只在根目錄設(shè)置 router.ts。

Store

Store 文件夾放置你的 Vuex 相關(guān)文件。在這個目錄下主要是一些全局的持久數(shù)據(jù)及方法:state 、 actions 、 mutations 、 getters,同時也和 modules 文件夾下的 Vuex 進(jìn)行關(guān)聯(lián)。

Views

Views 文件夾是我們應(yīng)用中第二重要的文件夾了。我們都知道它包含的也是業(yè)務(wù)組件。但其實(shí)它更應(yīng)該是路由的一種映射,比如 /home /about /orders 這個路由,在 Views 文件夾下就應(yīng)該有 Home.vue、 About.vue 、Orders.vue 這三個文件!

你一定會問為什么要拆分業(yè)務(wù)部分為 Views 和 Modules 這兩個目錄,而不是像 Vue CLI 那樣放在一起?

有以下優(yōu)點(diǎn):

  •  更清晰的目錄結(jié)構(gòu)

  •  更快速的了解路由

  •  更直觀看到根文件、根頁面、以及它們與子組件、子業(yè)務(wù)是如何關(guān)聯(lián)的。

以上就是“Vue項(xiàng)目的src目錄作用是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

新聞標(biāo)題:Vue項(xiàng)目的src目錄作用是什么
URL分享:http://bm7419.com/article24/pcojce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣微信公眾號、微信小程序、、靜態(tài)網(wǎng)站云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化