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

Vue3自動引入組件與組件庫的方法實例

 更新時間:2022年10月29日 12:04:53   作者:海海吶  
關(guān)于vue?組件還是非常好用的,真正掌握預(yù)計需要一段時間,下面這篇文章主要給大家介紹了關(guān)于Vue3自動引入組件與組件庫的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下

前言

在做vue3項目中時,每次使用都需要先進行引入,用ts的還好,會有爆紅提示,如果是使用js開發(fā)的很多時候都會等到編譯的時候才發(fā)現(xiàn)哪里哪里又沒有引入,就會很浪費時間,偶然發(fā)現(xiàn)一款好用的組件可以幫助我們很好的解決這種問題。

首先下載

安裝

yarn add unplugin-auto-import -D  

引入

在vite.config.ts中 

因為是插件 所以在我們的plugins下 寫入我們導(dǎo)入的名字

imports 

在我們的 AutoImport 下第一個屬性 imports  代表著的就是我們那些文件需要自動導(dǎo)入

我們這里就寫了vue vue-router pinia 在項目中使用的時候就可以不用我們手動導(dǎo)入直接使用了

這里注意我們的imports 是一個數(shù)組

dts

第二個屬性就是我們的dts

dts為true就代表著會自動生成一個ts文件可以查看導(dǎo)入的信息。

include

這里include是可以匹配對應(yīng)的文件

是一個數(shù)組里面寫匹配的正則

引入

在引入的時候需要引入unplugin-auto-import下的vite

import AutoImport from 'unplugin-auto-import/vite'
 plugins: [vue(),Vuejsx(),
    AutoImport({
      include: [
        /\.[tj]sx?$/,
        /\.vue$/,
        /\.vue\?vue/,
      ],
      dts: true,
      imports: ['vue', 'vue-router', 'pinia']
    })]

然后在頁面使用

會發(fā)現(xiàn)爆紅,這里是因為在當(dāng)前頁面沒有引用導(dǎo)致,(這就是這個組件使用ts的缺陷還沒找到解決辦法)不用管它 直接運行項目

運行不會有報錯

發(fā)現(xiàn)會在src同級目錄下自動生成一個同級文件 auto-imports.d.ts

打開會發(fā)現(xiàn)里面有我們各種的導(dǎo)入

 到這里我們的引入就完成了。

自動引入組件庫

安裝

yarn add unplugin-vue-components -D

下載ant-design測試

npm i --save ant-design-vue

在vite.config.ts中引入

import Components from 'unplugin-vue-components/vite' 

在引入import { } from 'unplugin-vue-components/resolvers' ctry加鼠標(biāo)進入resolvers.d.ts

 里面有各大主流組件庫的名字 找到我們需要引入的組件庫 ant -design(需要配置其他的組件庫可找對應(yīng)組件庫名)

找到并引入 AntDesignVueResolver

import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers'

 首先也需要在plugins中引入我們定義的名字 Components

Components({})

是一個對象

dts

第一個參數(shù)跟上面一樣設(shè)置為true也是會自動生成一個d.ts的文件

dirs

第二個參數(shù)就是dirs就是配置你的目錄,你可以設(shè)置src,或者src/componets或者你需要配置的地方的組件讓他自動導(dǎo)入,其他的組件不管

extensions

擴展屬性

['vue', 'jsx', 'tsx', 'ts', 'js'],

resolvers

最后這個resolvers就是我們的包自動導(dǎo)入

將我們上面引入的AntDesignVueResolver導(dǎo)進來進行配置

  resolvers: [
        AntDesignVueResolver({
        })
      ]

 Components({
      dts: true,
      dirs: ['src/components'],
      extensions: ['vue', 'jsx', 'tsx', 'ts', 'js'],
      resolvers: [
        AntDesignVueResolver({
        })
      ]
    })

AntDesignVueResolver

importStyle

就是AntDesignVueResolver第一個參數(shù) 可以設(shè)置我們的less預(yù)處理器

importLess

需要 設(shè)置為true開啟

這里的操作配置就相當(dāng)于引入的包以less的方式導(dǎo)入,

這里支持less 就需要將less也在項目中配置

CSS配置less

下載less less-loader

yarn add less less-loader -D

在preprocessorOptions中配置less,因為是主要講自動安裝,這里配置就不詳細講了

  css: {
    // https://cn.vitejs.dev/config/#css-preprocessoroptions
    preprocessorOptions: {
      less: {
        modifyVars: {
          // 此處也可設(shè)置直角、邊框色、字體大小等
          'primary-color': '#27ba9b'
        },
        javascriptEnabled: true,
        lessOptions: {
          javascriptEnabled: true
        },
      },
    },
  },

在app.vue中導(dǎo)入一個button

<script setup lang="ts">
const msg = ref<string>("");
</script>
 
<template>
  <input type="text" v-model="msg" />
  {{ msg }}
  <a-button type="primary">Primary Button</a-button>
</template>

運行

自動生成components.d.ts文件

 里面就是組件幫助我們自動創(chuàng)建的,這里創(chuàng)建的子組件也不需要引入即可使用

 可以發(fā)現(xiàn)我們的HellowWord沒有引入也可以在頁面中使用,就是因為在components.d.ts中已經(jīng)自動導(dǎo)入了。

看到這里有沒有馬上在項目中使用的想法呢?

好啦,到這里我們的Vue3自動引入組件,組件庫就完成了。

最后附上完整代碼

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import Vuejsx from '@vitejs/plugin-vue-jsx'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers'
// https://vitejs.dev/config/
export default defineConfig({
server:{
    open:true,
    port:8080,
    host:'localhost',
    headers: {
    'Access-Control-Allow-Origin':'*',
},
// 配置代理
 
  },
  css: {
    // https://cn.vitejs.dev/config/#css-preprocessoroptions
    preprocessorOptions: {
      less: {
        modifyVars: {
          // 此處也可設(shè)置直角、邊框色、字體大小等
          'primary-color': '#27ba9b'
        },
        javascriptEnabled: true,
        lessOptions: {
          javascriptEnabled: true
        },
      },
    },
  },
plugins: [vue(),Vuejsx(),
    AutoImport({
      include: [
        /\.[tj]sx?$/,
        /\.vue$/,
        /\.vue\?vue/,
      ],
      dts: true,
      imports: ['vue', 'vue-router', 'pinia']
    }),
    Components({
      dts: true,
      dirs: ['src/components'],
      extensions: ['vue', 'jsx', 'tsx', 'ts', 'js'],
      resolvers: [
        AntDesignVueResolver({
          importStyle: 'less',
          importLess: true
        })
      ]
    })]
})
 

總結(jié)

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

相關(guān)文章

  • Vite的常見配置選項詳細說明

    Vite的常見配置選項詳細說明

    相信大部分兄弟都體驗過Vite了,都知道它很快,在學(xué)習(xí)的時候,官網(wǎng)上的各種配置也是看的眼花繚亂,不知道哪些是必要掌握的,下面這篇文章主要給大家介紹了關(guān)于Vite常見配置選項的相關(guān)資料,需要的朋友可以參考下
    2024-09-09
  • Vue通過封裝全局獲取焦點指令

    Vue通過封裝全局獲取焦點指令

    這篇文章主要為大家詳細介紹了Vue通過封裝全局獲取焦點指令的相關(guān)知識,文中的示例代碼講解詳細,具有一定的借鑒價值,有需要的小伙伴可以參考下
    2023-12-12
  • vue后臺系統(tǒng)管理項目之角色權(quán)限分配管理功能(示例詳解)

    vue后臺系統(tǒng)管理項目之角色權(quán)限分配管理功能(示例詳解)

    這篇文章主要介紹了vue后臺系統(tǒng)管理項目-角色權(quán)限分配管理功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • 關(guān)于electron-vue打包后運行白屏的解決方案

    關(guān)于electron-vue打包后運行白屏的解決方案

    這篇文章主要介紹了關(guān)于electron-vue打包后運行白屏的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue實現(xiàn)可視化可拖放的自定義表單的示例代碼

    vue實現(xiàn)可視化可拖放的自定義表單的示例代碼

    這篇文章主要介紹了vue實現(xiàn)可視化可拖放的自定義表單的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • vue-quill-editor 自定義工具欄和自定義圖片上傳路徑操作

    vue-quill-editor 自定義工具欄和自定義圖片上傳路徑操作

    這篇文章主要介紹了vue-quill-editor 自定義工具欄和自定義圖片上傳路徑操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue移動端輕量級的輪播組件實現(xiàn)代碼

    vue移動端輕量級的輪播組件實現(xiàn)代碼

    這篇文章主要介紹了vue移動端輕量級的輪播組件實現(xiàn)代碼,一個簡單的移動端卡片滑動輪播組件,適用于Vue2.x。本文給大家?guī)砹藢嵗a,需要的朋友參考下吧
    2018-07-07
  • 淺談vue使用axios的回調(diào)函數(shù)中this不指向vue實例,為undefined

    淺談vue使用axios的回調(diào)函數(shù)中this不指向vue實例,為undefined

    這篇文章主要介紹了淺談vue使用axios的回調(diào)函數(shù)中this不指向vue實例,為undefined,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Vue中如何把hash模式改為history模式

    Vue中如何把hash模式改為history模式

    這篇文章主要介紹了Vue中如何把hash模式改為history模式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • vue3中markRaw示例詳解

    vue3中markRaw示例詳解

    markRaw是將一個對象標(biāo)記為普通對象,而toRaw是將reactive對象變?yōu)槠胀▽ο?在 Vue 3 中,markRaw 是一個用于告訴 Vue 的響應(yīng)性系統(tǒng)不要對某個對象進行轉(zhuǎn)換或追蹤其響應(yīng)性的函數(shù),下面給大家介紹vue3中markRaw詳解,感興趣的朋友一起看看吧
    2024-04-04

最新評論