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

Vue自動生成組件示例總結(jié)

 更新時間:2023年12月23日 09:44:36   作者:林恒  
在Vue中,我們可以使用unplugin-generate-component-name插件自動基于目錄名稱生成組件名稱,這個插件使得在大型代碼庫中找到和管理組件更加容易和直觀,這篇文章主要介紹了Vue自動生成組件示例總結(jié),需要的朋友可以參考下

unplugin-generate-component-name一款用于以文件夾名或者setup標簽寫入名字來自動生成Vue組件名的插件。

項目地址

功能

  • ?? 支持 Vue 3 開箱即用。
  • ?? 支持 Vite、Webpack、Rspack、Vue CLI、Rollup、esbuild 等,由 unplugin 提供支持。
  • ?? 支持文件夾名稱和 Setup extend 兩種模式。
  • ?? 完全支持 TypeScript。

安裝

# Yarn
$ yarn add unplugin-generate-component-name -D
# pnpm
$ pnpm i unplugin-generate-component-name -D

Vite 配置

// vite.config.ts
import GenerateComponentName from 'unplugin-generate-component-name/vite'
export default defineConfig({
  plugins: [
    GenerateComponentName({ /* options */ }),
  ],
})

Rollup 配置

// rollup.config.js
import GenerateComponentName from 'unplugin-generate-component-name/rollup'
export default {
  plugins: [
    GenerateComponentName({ /* options */ }),
  ],
}

Webpack 配置

// webpack.config.js
module.exports = {
  /* ... */
  plugins: [
    require('unplugin-generate-component-name/webpack').default({ /* options */ }),
  ],
}

使用方法(開箱即用)

文件夾名稱

你可以使用index組件所在的文件夾名作為組件的名字。

自動生成 Vue 組件名稱

在Vue中,我們可以使用unplugin-generate-component-name插件自動基于目錄名稱生成組件名稱。這個插件使得在大型代碼庫中找到和管理組件更加容易和直觀。例如,假設(shè)我們有一個Vue組件名為Index.vue,此組件在Home目錄中。通過unplugin-generate-component-name插件,此組件會自動命名為Home。

src/home/
├── index.vue // 組件名稱是 Home
├── about.vue
└── users/
    ├── index.vue // 組件名稱是 Users
    └── info.vue

Setup Extend

<script setup>標簽中,我們設(shè)置了 name 屬性為 "Home"。這顯式地將組件命名為 "Home",unplugin-generate-component-name插件會使用這個名字而不是 "Index"。

<template>
  <!-- 你的組件標記 -->
</template>
<script setup name="Home">
  // 你的腳本邏輯
</script>
<style>
  <!-- 你的組件樣式 -->
</style>

選項

type GenComponentName = (opt: {
    filePath: string;
    dirname: string;
    originalName: string;
    attrName: string | undefined;
}) => string;
interface PattenOptions {
    include?: string | RegExp | (string | RegExp)[];
    exclude?: string | RegExp | (string | RegExp)[];
    genComponentName: GenComponentName;
}
interface Options extends Omit<PattenOptions, 'genComponentName'> {
    enter?: PattenOptions[];
}

include

include選項能夠明確說明哪些文件應(yīng)被包含在組件名稱的自動創(chuàng)建過程中。

exclude

exclude選項則用于指明哪些文件應(yīng)排除在組件名稱的自動創(chuàng)建過程之外。

enter

Options接口中,有一個enter選項。enter是一個數(shù)組,該數(shù)組中每個對象都被視作一種特定的規(guī)則用于處理不同的文件路徑。

每一種規(guī)則都可以包含includeexclude選項,用以指明哪些文件是應(yīng)特別對待的。你也可以要求對genComponentName函數(shù)進行特定的設(shè)置,以達到自定義組件名稱生成的效果。

下面是一個例子:

// vite.config.ts
import GenerateComponentName from 'unplugin-generate-component-name/vite'
export default defineConfig({
  plugins: [
     GenerateComponentName({
      include: ['**/*.vue'],
      enter: [{
        include: ["**/*index.vue"],
        genComponentName: ({ attrName, dirname }) => attrName ?? dirname
      }, {
        exclude: ['**/*.index.vue'],
        include: ["src/components/**/*.vue"],
        genComponentName: ({ dirname, originalName }) => `${dirname}-${originalName}`
      }]
    }),
  ],
});

在這個例子中,unplugin-generate-component-name插件被配置為處理所有的 .vue 文件。在enter選項中有兩個對象適用于不同的文件路徑:

  • 第一個對象覆蓋所有以"index.vue"結(jié)尾的文件。genComponentName函數(shù)返回組件名稱。如果script setup 標簽中已經(jīng)指定了名稱,那么優(yōu)先級將會很高; 如果沒有,文件夾名稱(dirname)就將會使用。
  • 第二個對象排除了所有以"index.vue"結(jié)尾的文件, 僅包括"src/components/"目錄下的.vue文件。genComponentName函數(shù)用來以${dirname}-${originalName}的格式生成組件名。例如,對于一個名為src/component/Button中的MyButton.vue文件,它將會是Button-MyButton。

到此這篇關(guān)于Vue自動生成組件名 的文章就介紹到這了,更多相關(guān)Vue自動生成組件名 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue中環(huán)境變量的使用與配置講解

    vue中環(huán)境變量的使用與配置講解

    這篇文章主要介紹了vue中環(huán)境變量的使用與配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue默認插槽,具名插槽,作用域插槽定義及使用方法

    Vue默認插槽,具名插槽,作用域插槽定義及使用方法

    這篇文章主要介紹了Vue默認插槽,具名插槽,作用域插槽定義及使用方法,插槽的作用是在子組件中某個位置插入父組件的自定義html結(jié)構(gòu)和data數(shù)據(jù),下面詳細內(nèi)容需要的小伙伴可以參考一下
    2022-03-03
  • vue一步到位的實現(xiàn)動態(tài)路由

    vue一步到位的實現(xiàn)動態(tài)路由

    這篇文章主要介紹了vue一步到位的實現(xiàn)動態(tài)路由,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • VUE render函數(shù)使用和詳解

    VUE render函數(shù)使用和詳解

    這篇文章主要為大家介紹了VUE render函數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 關(guān)于Vue 自定義指令實現(xiàn)元素拖動的詳細代碼

    關(guān)于Vue 自定義指令實現(xiàn)元素拖動的詳細代碼

    這篇文章主要介紹了Vue 自定義指令實現(xiàn)元素拖動,在使用自定義指令之前,先對自定義指令有一定的了解,主要從自定義指令定義范圍,鉤子函數(shù)方面入手,需要的朋友可以參考下
    2022-01-01
  • vue3項目中的el-carousel 輪播圖的使用

    vue3項目中的el-carousel 輪播圖的使用

    Carousel(走馬燈)是一種常見的前端組件,通常用于展示多個項目(通常是圖片或內(nèi)容塊)的輪播效果,這篇文章主要介紹了vue3項目中的el-carousel 輪播圖的使用,需要的朋友可以參考下
    2024-02-02
  • vue實現(xiàn)自定義公共組件及提取公共的方法

    vue實現(xiàn)自定義公共組件及提取公共的方法

    這篇文章主要介紹了vue實現(xiàn)自定義公共組件及提取公共的方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 關(guān)于vue項目vue-cli-service啟動報錯失敗問題的解決方法

    關(guān)于vue項目vue-cli-service啟動報錯失敗問題的解決方法

    前端拉取代碼后,想要運行代碼的時候可以能遇到啟動報錯的問題,這里我們只針對于vue-cli-service報錯項來說,文中通過圖文結(jié)合的方式給大家介紹的非常詳細,具有一定的參考價值,需要的朋友可以參考下
    2024-08-08
  • 如何正確快速使用Vue中的插槽和配置代理

    如何正確快速使用Vue中的插槽和配置代理

    這篇文章主要介紹了正確快速使用Vue中的插槽和配置代理的相關(guān)知識,插槽分為三種,分別是默認插槽、具名插槽、作用域插槽,下面分別列出了如何使用這三種插槽,需要的朋友可以參考下
    2023-01-01
  • 加速vue組件渲染之性能優(yōu)化

    加速vue組件渲染之性能優(yōu)化

    這篇文章主要介紹了加速vue組件渲染之性能優(yōu)化,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04

最新評論