国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vant4在Vue3.3中如何按需導(dǎo)入組件和樣式

這篇具有很好參考價(jià)值的文章主要介紹了Vant4在Vue3.3中如何按需導(dǎo)入組件和樣式。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

最近我在Vue 3.3的項(xiàng)目中對(duì)Vant4做按需導(dǎo)入時(shí),盡管按照Vant4的官方指南進(jìn)行操作,但樣式仍然無法正確加載。經(jīng)過深入研究和多篇文章的比較,我終于找到了在Vue3中如何正確的按需導(dǎo)入Vant 4組件和樣式的方法。由于Vue3.3和Vant4相對(duì)較新,相關(guān)資料可能還不夠完善,因此我認(rèn)為分享這個(gè)經(jīng)驗(yàn)非常重要。希望這篇文章能幫助到同樣遇到此問題的開發(fā)者們,并推動(dòng)相關(guān)技術(shù)的進(jìn)步。

我的環(huán)境

依賴名稱 版本
pnpm 8.14.0
Node 16.20.1
Vue3 3.3.11
Vite 5.0.8

目錄

一、安裝
二、配置 vite.config.ts
1、按需導(dǎo)入組件
2、按需導(dǎo)入U(xiǎn)I組件樣式
3、完整代碼
三、解決 Vant 375 設(shè)計(jì)尺寸問題
四、這個(gè)unplugin-vue-components跟以往的按需導(dǎo)入有何區(qū)別?

一、安裝

1、vant

pnpm add vant  // 默認(rèn)為vant4
// 或 npm i vant  
//    yarn add vant

2、自動(dòng)按需導(dǎo)入U(xiǎn)I庫樣式的插件

pnpm add vite-plugin-style-import@2.0.0
// 或 npm i vite-plugin-style-import@2.0.0
//    yarn add vite-plugin-style-import@2.0.0

3、自動(dòng)導(dǎo)入組件插件

pnpm add unplugin-vue-components/vite@0.26.0
// 或 npm i unplugin-vue-components/vite@0.26.0
//    yarn add unplugin-vue-components/vite@0.26.0

二、配置 vite.config.ts

vite.config.ts

1、按需導(dǎo)入組件的插件 unplugin-vue-components

作用:全局自動(dòng)注冊(cè)項(xiàng)目中的公共組件或UI組件,組件中需要使用到的公共組件或UI組件無需import手動(dòng)導(dǎo)入,直接使用即可。然后它會(huì)在根目錄自動(dòng)生成components.d.ts,里面保存了我們使用了哪些組件。
注意:僅限.vue后綴的文件。如果是.ts或.js結(jié)尾的仍需在頂部import導(dǎo)入。

import Components from 'unplugin-vue-components/vite' 
import { VantResolver } from 'unplugin-vue-components/resolvers'  // 取出vant組件按需導(dǎo)入方法

export default defineConfig({
	plugins: [
		Components({
			dts: true, // 允許項(xiàng)目根目錄下的components.d.ts執(zhí)行
			resolvers: [VantResolver()], // 自動(dòng)按需導(dǎo)入U(xiǎn)I組件
		}),
	]
})

例如:我用了van-button,它會(huì)自動(dòng)將van-button這個(gè)組件幫我們注冊(cè)到components.d.ts中。

home.vue

<template>
	<van-button>按鈕</van-button>
</template>

components.d.ts 代碼如下:

/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// Generated by unplugin-vue-components
// Read more: https://github.com/vuejs/core/pull/3399
export {}

declare module 'vue' {
  export interface GlobalComponents {
    VanButton: typeof import('vant/es')['Button']
  }
}

既然它幫我們把用到的組件保存在這里,就需要為它配置路徑。

打開tsconfig.json,加入指定路徑

 "include": [
		"./components.d.ts",
	]

2、自動(dòng)按需導(dǎo)入U(xiǎn)I樣式的插件 vite-plugin-style-import

現(xiàn)在頁面可以使用vant組件了,但是沒有UI自帶的樣式,所以需要再配置UI庫的樣式路徑。

import { createStyleImportPlugin } from 'vite-plugin-style-import'
export default defineConfig({
	plugins: [
		createStyleImportPlugin({
			resolves: [
				{
					libraryName: 'vant',
					libraryNameChangeCase: 'pascalCase',
					resolveStyle: name => {
						return `vant/es/${name.toLowerCase()}/index.css`
					},
				},
			],
		}),	
	]
}

說明:vant/es指定的路徑是node_modules中的vant依賴包下的路徑
Vant4在Vue3.3中如何按需導(dǎo)入組件和樣式,Vue3,vue.js,前端框架,typescript,javascript文章來源地址http://www.zghlxwxcb.cn/news/detail-812730.html

3、完整代碼

import Components from 'unplugin-vue-components/vite'  // 自動(dòng)按需導(dǎo)入組件
import { VantResolver } from 'unplugin-vue-components/resolvers'  // 取出vant的按需導(dǎo)入組件
import { createStyleImportPlugin } from 'vite-plugin-style-import' // 用于配置自動(dòng)按需導(dǎo)入vant組件庫的樣式

export default defineConfig({
	plugins: [
	    // 自動(dòng)按需導(dǎo)入樣式
		createStyleImportPlugin({
				resolves: [
					{
						libraryName: 'vant',
						libraryNameChangeCase: 'pascalCase',
						resolveStyle: name => {
							return `vant/es/${name.toLowerCase()}/index.css`
						},
					},
				],
			}),	
		 // 自動(dòng)按需導(dǎo)入組件
		  Components({
			dts: true, 
			resolvers: [VantResolver()], 
		}),
	]
})

三、解決 Vant 375 設(shè)計(jì)尺寸問題

  • Vant自帶是375尺寸的,如果我們是750最后插件幫我們轉(zhuǎn)化為375的,也就是我們寫的px都是2倍的,vant組件樣式也跟著轉(zhuǎn)化那就是375 / 2。但我們不需要它轉(zhuǎn)化,所以在轉(zhuǎn)換時(shí)需要忽略它。
  • 如果你的設(shè)計(jì)稿是375,那就不用將忽略Vant。
  • 具體配置
    提示: 我的是在vite.config.ts,有些小伙伴是在全局的postcss.config.js或者其他??傊谶@個(gè)配置postcss中修改即可。
    vite.config.ts為例
export default defineConfig({
	css: {
		postcss: {
			plugins: [
						postcsspxtoviewport({ 
							... // 其他屬性無需修改
							exclude: [/node_modules\/vant/], // 設(shè)置忽略文件,用正則做目錄名匹配
						}]
		 		}
		}
})

四、這個(gè)unplugin-vue-components插件跟以往的按需導(dǎo)入有何區(qū)別呢?

  • 以往我們都是單獨(dú)在plugins中單獨(dú)創(chuàng)建vant.js,里面存著要用到的UI組件,用到一個(gè)就去手動(dòng)添加,不要就手動(dòng)刪除,最后在main.js中統(tǒng)一導(dǎo)入,比較繁瑣,半自動(dòng)化。 示例:src/plugins/vant.js
  • 現(xiàn)在已無需在手動(dòng)去添加、刪除,以及去main.ts中引入了,只需要在vite.config.ts中配置好即可,非常方便。這才是真正意義上的UI組件按需導(dǎo)入。
  • 要感謝那些大佬們開發(fā)的插件,讓我們開發(fā)時(shí)可以簡化一些操作,提高開發(fā)效率。

到了這里,關(guān)于Vant4在Vue3.3中如何按需導(dǎo)入組件和樣式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • vue3+vite+vant4手機(jī)端項(xiàng)目實(shí)錄

    vue3+vite+vant4手機(jī)端項(xiàng)目實(shí)錄

    目錄 一、項(xiàng)目介紹 二、項(xiàng)目的搭建 1.vite的安裝 2.啟動(dòng)vite項(xiàng)目 ?3.vant4的引入與使用 3.1安裝指令 npm i vant 3.2引入vant4 4.路由router的引入 4.1安裝指令 4.2路由配置 5.路徑別名設(shè)置 6.json-server 6.1json-server安裝 6.2json-server啟動(dòng)項(xiàng)配置 6.3啟動(dòng)命令:npm run mock 7.axios請(qǐng)求數(shù)據(jù) 7.1安裝axios依

    2024年02月03日
    瀏覽(95)
  • vue3.2+vite+vant4+sass搭建筆記

    vue3.2+vite+vant4+sass搭建筆記

    官方下載地址:https://github.com/coreybutler/nvm-windows/releases 雙擊安裝? ? ? ? ? ? ? ? ? ? 在? vite.config.js ?文件中配置插件 ?tips:函數(shù)組件樣式有異常,在main.js中引入vant樣式 1、安裝插件 postcss-pxtorem?是一款 PostCSS 插件,用于將 px 單位轉(zhuǎn)化為 rem 單位 lib-flexible?用于設(shè)置 rem 基

    2024年02月02日
    瀏覽(94)
  • 使用vue3 + TS + Pinia + Vant4 + vite搭建商城H5項(xiàng)目框架

    使用vue3 + TS + Pinia + Vant4 + vite搭建商城H5項(xiàng)目框架

    本文主要將如何利用搭建一個(gè)初始化的商城H5項(xiàng)目框架。初始化階段使用的技術(shù)棧有:vue3.2、vue-router、?TS 、 Pinia 、 Vant4、Less、vite ????????????????????????node -v 檢測(cè)是否有安裝node.js,未安裝請(qǐng)先去官網(wǎng)安裝node.js ? ? ? ? 終端輸入:?npm?init vite ????????自定

    2024年02月12日
    瀏覽(95)
  • 【Vue3+Ts project】vant4 實(shí)現(xiàn)觸發(fā)指定表單 rules校驗(yàn)、setTimeout和 setInterval 區(qū)別

    ? 一.使用 vant組件? validate屬性 實(shí)現(xiàn) 觸發(fā)指定輸入框rules校驗(yàn) ,滿足校驗(yàn)通過否則失敗 ?1. 給form表單綁定 ref并定義值名稱 ,然后為你想校驗(yàn)的表單綁定 name值 2.為ref的值名稱定義變量名?,然后 ref值名稱.value.validate(\\\'name值名稱\\\'),.then接收成功 , .catch 接收失敗 ? 二.?setT

    2024年02月11日
    瀏覽(91)
  • uni-app(Vue3/Vite) + vant UI(Vue3版本)+ js 按需引入的項(xiàng)目搭建

    uni-app(Vue3/Vite) + vant UI(Vue3版本)+ js 按需引入的項(xiàng)目搭建

    ????????因?yàn)橐瓿绍浖こ痰捻?xiàng)目,要做一個(gè)nativeApp,看了很多的技術(shù)文檔以后決定使用多端兼容的uni-app來開發(fā)。組件方面的話最后決定使用目前比較火的Vant UI。但是看了CSDN和掘金上面的很多文章,似乎沒有一篇是關(guān)于uni-app中使用Vite對(duì)vant組件進(jìn)行按需引入(可能這個(gè)

    2023年04月09日
    瀏覽(93)
  • vue3+vite+vant項(xiàng)目下按需引入vant報(bào)錯(cuò)Failed to resolve import解決方案

    vue3+vite+vant項(xiàng)目下按需引入vant報(bào)錯(cuò)Failed to resolve import解決方案

    在學(xué)習(xí)vite+vue3+vant開發(fā)項(xiàng)目過程中, 參考vant官網(wǎng)開發(fā)指南-快速上手-引入組件 vant組件庫官網(wǎng) 按照上述配置好后,運(yùn)行vite環(huán)境報(bào)錯(cuò):Failed to resolve import 根據(jù)報(bào)錯(cuò)信息,發(fā)現(xiàn)是vant的樣式引入路徑不對(duì)。 以 Button 組件為例 程序解析為:項(xiàng)目路徑/node_modules /vant/lib /vant/es/button/s

    2024年02月15日
    瀏覽(24)
  • vite + vue + ts 自動(dòng)按需導(dǎo)入 Element Plus組件,并如何解決按需引入后ElMessage與ElLoading 的問題(找不到名稱“ElMessage”問題。)

    vite + vue + ts 自動(dòng)按需導(dǎo)入 Element Plus組件,并如何解決按需引入后ElMessage與ElLoading 的問題(找不到名稱“ElMessage”問題。)

    按需引入后ElMessage與ElLoading?的問題,兩步優(yōu)雅解決找不到名稱“ElMessage”問題。不需要導(dǎo)入npm包,不需要下載任何東西,只要五行代碼 目錄 1、添加Element Plus組件庫 1.2、下載 1.2、自動(dòng)導(dǎo)入(官方推薦) 2、按需引入后ElMessage與ElLoading?的問題 2.1、解決問題 2.2、下面是分析原因

    2024年02月06日
    瀏覽(22)
  • vue3 集成 Element-Plus之全局導(dǎo)入/按需導(dǎo)入

    element-plus集成 Element Plus,一套為開發(fā)者、設(shè)計(jì)師和產(chǎn)品經(jīng)理準(zhǔn)備的基于 Vue 3.0 的桌面端組件庫: 在Vue2中使用element-ui,而element-plus是element-ui針對(duì)于vue3開發(fā)的一個(gè)UI組件庫; 它的使用方式和很多其他的組件庫是一樣的,所以學(xué)會(huì)element-plus,其他類似于ant-design-vue、NaiveUI、Van

    2024年02月09日
    瀏覽(91)
  • Vue3+Vite項(xiàng)目按需自動(dòng)導(dǎo)入配置及常見問題修復(fù)

    Vue3+Vite項(xiàng)目按需自動(dòng)導(dǎo)入配置及常見問題修復(fù)

    解決的問題:避免在每個(gè)vue組件中都重復(fù)性的去聲明ref,reactive等。如下: 1.1 配置 unplugin-auto-import 具體配置: 安裝vite插件: unplugin-auto-import 1.2 可能遇到ts,eslint不識(shí)別而導(dǎo)入報(bào)錯(cuò)的問題 1、typescript 報(bào)錯(cuò): \\\'reactive\\\' is not defined. 原因 :TS未識(shí)別到vue api,沒有相應(yīng)的模塊聲明文件

    2024年02月16日
    瀏覽(22)
  • Vue3+Vite項(xiàng)目引入Element-plus并配置按需自動(dòng)導(dǎo)入

    Vue3+Vite項(xiàng)目引入Element-plus并配置按需自動(dòng)導(dǎo)入

    我使用的是 pnpm ,并且順便將 element-plus/icons 一起引入 如果您使用 Volar,請(qǐng)?jiān)诟夸浵?tsconfig.json 中通過 compilerOptions.type 指定全局組件類型 3.1 首先你需要安裝 unplugin-vue-components 和 unplugin-auto-import 這兩款插件 3.2 然后把下列代碼插入到根目錄下 vite.config.ts 文件中 Element-lus官

    2024年02月13日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包