欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用 webpack 插件自動(dòng)生成 vue 路由文件的方法

 更新時(shí)間:2019年08月20日 09:36:35   作者:kybetter  
這篇文章主要介紹了使用 webpack 插件自動(dòng)生成 vue 路由文件的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一款自動(dòng)生成 vue 路由文件的 webpack 插件 vue-route-webpack-plugin 在項(xiàng)目中試點(diǎn)成功了,現(xiàn)在在項(xiàng)目中已經(jīng)不需要再維護(hù)路由配置文件了,由插件自動(dòng)生成,節(jié)省了大家維護(hù)路由的時(shí)間。

從長(zhǎng)遠(yuǎn)來(lái)看,使用插件自動(dòng)生成路由是具有一定好處的。當(dāng)項(xiàng)目中的路由配置非常多的時(shí)候,為了區(qū)分業(yè)務(wù),你可能需要分成許多個(gè)文件來(lái)存放這些路由文件,這樣就不得不去維護(hù)這些路由文件。

比如這樣的路由文件結(jié)構(gòu):

|-src/
  |-router/
    index.js
    childrenRouter.js
    childrenRouters/
      // ...some children router files

其中 childrenRouters 目錄中維護(hù)了各個(gè)業(yè)務(wù)相關(guān)的路由。

每當(dāng)要添加路由的時(shí)候,還得重復(fù)的寫 import 和路由配置項(xiàng)。

比如:

import userlist from '@/views/user/list.vue';
import shoplist from '@/views/shop/list.vue';
import goodslist from '@/views/goods/list.vue';
//import ...

export default [
 {
  path: 'user/list',
  name: 'userlist',
  component: userlist,
  alias: 'user',
 },
 {
  path: 'shop/list',
  name: 'shoplist',
  component: shoplist,
  alias: 'shoplist',
 },
 // ...
]

當(dāng)一個(gè)項(xiàng)目的路由配置多了以后,要維護(hù)這些路由文件也是一件費(fèi)時(shí)費(fèi)神的事情。

現(xiàn)在使用 vue-route-webpack-plugin 插件來(lái)自動(dòng)生成路由后,就無(wú)需再關(guān)心和維護(hù)這些路由文件了。

使用方式

注:以下摘自倉(cāng)庫(kù) README,如有更新以倉(cāng)庫(kù)為準(zhǔn)

安裝

$ yarn add -D @xiyun/vue-route-webpack-plugin

配置

在 vue.config.js 或在 webpack 配置文件中加入插件配置:

const VueRouteWebpackPlugin = require('@xiyun/vue-route-webpack-plugin');

module.exports = {
 configureWebpack: {
  plugins: [
   new VueRouteWebpackPlugin({
    // 選項(xiàng),見(jiàn)下文
   })
  ],
 }
};

使用

在需要配置路由的頁(yè)面級(jí) .vue 文件中加入路由配置:

假設(shè)在 user.vue 文件中:

<template>
 <div>user</div>
</template>
<script>
// @route('user/list')
// 或
// 第二個(gè)參數(shù)是路由別名
// @route('user/list', 'user')
// 或使用多行注釋
/**
 * @route('user/list')
 * 或
 * @route('user/list', 'user')
 */
export default {
 name: 'user',
 data() {
  return {}
 }
}
</script>

默認(rèn)情況下,當(dāng)你啟動(dòng)開(kāi)發(fā)服務(wù)或執(zhí)行構(gòu)建的時(shí)候,就會(huì)在 src/router 目錄下生成 children.js 這個(gè)路由文件。

假設(shè)你的頁(yè)面文件路徑是: src/views/user/list.vue ,那么生成的路由文件的內(nèi)容看起來(lái)就會(huì)是這樣的:

import userlist from '@/views/user/list.vue';
export default [
 {
  path: 'user/list',
  name: 'userlist',
  component: userlist,
  // 如果配置了別名
  alias: 'user',
 },
]

因?yàn)檫@個(gè)文件會(huì)由插件自動(dòng)生成,所以你可以在 .gitignore 文件中把這個(gè)路由文件在版本庫(kù)中忽略掉,避免多人協(xié)同開(kāi)發(fā)時(shí)因頻繁改動(dòng)發(fā)生沖突。

默認(rèn)目錄約定

src/
 |-views/     (項(xiàng)目文件,插件會(huì)掃描該目錄下所有 .vue 文件的路由配置)
  |-...
 |-router/    (路由目錄)
  |-index.js   (主路由文件,需要引入 children.js 作為子路由來(lái)使用)
  |-children.js (路由文件,由插件自動(dòng)生成)

選項(xiàng)參考

插件提供了以下這些選項(xiàng)供自定義配置

new VueRouteWebpackPlugin({
 // 文件擴(kuò)展名,默認(rèn)只查詢 .vue 類型的文件,根據(jù)實(shí)際需要可以進(jìn)行擴(kuò)展
 extension: ['vue', 'js', 'jsx'],
 // 插件掃描的項(xiàng)目目錄,默認(rèn)會(huì)掃描 'src/views' 目錄
 directory: 'src/views',
 // 生成的路由文件存放地址,默認(rèn)存放到 'src/router/children.js'
 routeFilePath: 'src/router/children.js',
})

總結(jié)

以上所述是小編給大家介紹的使用 webpack 插件自動(dòng)生成 vue 路由文件的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!

相關(guān)文章

  • vue內(nèi)置動(dòng)態(tài)組件component使用示例小結(jié)

    vue內(nèi)置動(dòng)態(tài)組件component使用示例小結(jié)

    component是vue內(nèi)置組件,主要作用為動(dòng)態(tài)渲染組件,這篇文章主要介紹了vue內(nèi)置動(dòng)態(tài)組件component使用示例小結(jié),需要的朋友可以參考下
    2024-03-03
  • Vue3中的執(zhí)行流程思路分析-流程圖

    Vue3中的執(zhí)行流程思路分析-流程圖

    這篇文章主要介紹了Vue3中的執(zhí)行流程思路分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • vue3插槽:el-table表頭插入tooltip及更換表格背景色方式

    vue3插槽:el-table表頭插入tooltip及更換表格背景色方式

    這篇文章主要介紹了vue3插槽:el-table表頭插入tooltip及更換表格背景色方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • element跨分頁(yè)操作選擇詳解

    element跨分頁(yè)操作選擇詳解

    這篇文章主要為大家詳細(xì)介紹了element跨分頁(yè)操作選擇,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • vue組件暴露和.js文件暴露接口操作

    vue組件暴露和.js文件暴露接口操作

    這篇文章主要介紹了vue組件暴露和.js文件暴露接口操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • VUE v-bind 數(shù)據(jù)綁定的示例詳解

    VUE v-bind 數(shù)據(jù)綁定的示例詳解

    這篇文章主要介紹了VUE v-bind 數(shù)據(jù)綁定,簡(jiǎn)單點(diǎn)來(lái)說(shuō)就是對(duì) HTML 中的元素,我們可以使用 v-bind 來(lái)進(jìn)行綁定和動(dòng)態(tài)的數(shù)據(jù)輸出,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • vue{{}}拼接字符串和換行符方式

    vue{{}}拼接字符串和換行符方式

    這篇文章主要介紹了vue{{}}拼接字符串和換行符方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 基于Vue2的獨(dú)立構(gòu)建與運(yùn)行時(shí)構(gòu)建的差別(詳解)

    基于Vue2的獨(dú)立構(gòu)建與運(yùn)行時(shí)構(gòu)建的差別(詳解)

    下面小編就為大家分享一篇基于Vue2的獨(dú)立構(gòu)建與運(yùn)行時(shí)構(gòu)建的差別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • vuex中使用modules時(shí)遇到的坑及問(wèn)題

    vuex中使用modules時(shí)遇到的坑及問(wèn)題

    這篇文章主要介紹了vuex中使用modules時(shí)遇到的坑及問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue組件的路由高亮問(wèn)題解決方法

    vue組件的路由高亮問(wèn)題解決方法

    這篇文章主要給大家介紹了關(guān)于vue組件的路由高亮問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05

最新評(píng)論