Vue3中?引入Ant?Design的操作方法
Ant Design 是一個(gè)很好用的前端組件庫,里面包含有很多基礎(chǔ)組件,能極大提高我們的開發(fā)效率
下面先貼出 官方文檔,里面的介紹已經(jīng)十分全面和詳細(xì),大家遇到的很多問題都可以在上面找到答案
假設(shè)現(xiàn)在我們已經(jīng)用 vue-cli 3 工具創(chuàng)建了一個(gè) Vue 項(xiàng)目,然后怎么在項(xiàng)目中引入 Ant Design 呢?
首先介紹一下 vue-cli 3 默認(rèn)生成的目錄結(jié)構(gòu),關(guān)于 vue-cli 3 的具體使用可以參考我的 另一篇文章
+ demo
+ node_modules(存放第三方模塊)
+ public(存放靜態(tài)文件)
- favicon.ico(圖標(biāo))
- index.html (頁面模板)
+ src(我們自己寫的文件一般放在這個(gè)文件夾下)
+ assets(存放資源文件)
+ components(存放公共組件)
+ router.js(路由管理:Router)
+ store.js (狀態(tài)管理:Vuex)
+ views(存放視圖組件)
- App.vue(頁面入口文件)
- main.js(程序入口文件)
- package.json(項(xiàng)目配置文件)
- package-lock.json(項(xiàng)目配置文件)
- babel.config.js(babel 配置文件)
- README.md(項(xiàng)目說明文檔)
- ...(其它配置文件)
1、安裝 Ant Design
npm 是 Node 的包管理工具,我們可以通過 npm 安裝 Ant Design
加上 --save 選項(xiàng),可以同時(shí)將配置寫入 package.json 的 dependencies 字段(生產(chǎn)環(huán)境依賴)
npm install --save ant-design-vue
2、引入 Ant Design
在 Vue 中引入 Ant Design 有兩種方式,分別是全部引入和局部引入,下面將會(huì)逐一介紹
(1)全部引入
在 main.js 中引入并注冊(cè)全部組件,即可在其它頁面中直接使用全部組件
// main.js
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
// 新增代碼:引入全部組件及樣式
import Antd from 'ant-design-vue'
import 'ant-design-vue/dist/antd.css'
// 新增代碼:注冊(cè)全部組件
Vue.use(Antd)
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')采用這種引入方式,不管是否使用到的組件,都會(huì)全部加載進(jìn)來,顯然不是一個(gè)好的辦法
(2)局部引入
在 main.js 中引入并注冊(cè)特定組件,在其它頁面中只可使用特定組件
// main.js
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
// 新增代碼:引入特定組件及樣式
import {
Button
} from 'ant-design-vue'
import 'ant-design-vue/lib/button/style'
// 新增代碼:注冊(cè)特定組件
Vue.component(Button.name, Button)
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')采用這種引入方式,可以保證只引入需要的組件(按需引入)
但每引入一個(gè)組件,都要手動(dòng)將其對(duì)應(yīng)的樣式文件同時(shí)引入,未免過于麻煩
babel-plugin-import 插件可以輔助完成這個(gè)工作,首先安裝 babel-plugin-import 插件
加上 --save-dev 選項(xiàng),同時(shí)將配置寫入 package.json 的 devDependencies 字段(開發(fā)環(huán)境依賴)
npm install --save-dev babel-plugin-import
然后在 babel.config.js 配置插件
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
],
// 新增代碼
plugins: [
[
'import',
{ libraryName: 'ant-design-vue', libraryDirectory: 'es', style: true }
]
]
}接著在 main.js 按需引入組件
// main.js
// main.js
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
// 新增代碼:引入特定組件
// 此時(shí)會(huì)自動(dòng)引入對(duì)應(yīng)的樣式文件,無需再手動(dòng)逐一引入
import {
Button
} from 'ant-design-vue'
// 新增代碼:注冊(cè)特定組件
Vue.component(Button.name, Button)
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')最后記得使用 npm run serve 重啟應(yīng)用,即可在其它頁面中使用特定組件
注意,如果你在使用 vue-cli 3 創(chuàng)建項(xiàng)目時(shí)配置了 Less,那么你在運(yùn)行應(yīng)用時(shí)可能會(huì)出現(xiàn)以下錯(cuò)誤:
Inline JavaScript is not enabled. Is it set in your options?
這是因?yàn)?Webpack 對(duì)于 Less-loader 的默認(rèn)配置不合適所導(dǎo)致的,所以我們需要修改一下配置
在根目錄下的項(xiàng)目配置文件 vue.config.js 中添加以下配置項(xiàng)(如果沒有這個(gè)文件,就自己創(chuàng)建一個(gè))
module.exports = {
css: {
loaderOptions: {
less: {
javascriptEnabled: true
}
}
}
}3、使用 Ant Design
在安裝和引入 Ant Design 后,我們就可以在頁面使用 Ant Design 中的組件啦
<template>
<div>
<a-button type="primary" @click="handleClick">Primary</a-button>
</div>
</template>
<script>
export default {
methods: {
handleClick: function (e) {
console.log('click', e)
}
}
}
</script>這時(shí),如果你能看到一個(gè)藍(lán)色的按鈕出現(xiàn)在頁面上,就說明已經(jīng)配置成功
接下來就可以盡情享受 Ant Design 帶給你的高效開發(fā)體驗(yàn)
到此這篇關(guān)于如何在 Vue 3 中使用 Ant Design的文章就介紹到這了,更多相關(guān)Vue 3 使用 Ant Design內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue 實(shí)現(xiàn)基礎(chǔ)組件的自動(dòng)化全局注冊(cè)
這篇文章主要介紹了vue 實(shí)現(xiàn)基礎(chǔ)組件的自動(dòng)化全局注冊(cè)的方法,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下2020-12-12
Vue如何實(shí)現(xiàn)簡單的時(shí)間軸與時(shí)間進(jìn)度條
作為一個(gè)前端初學(xué)者,公司項(xiàng)目中前端需要一個(gè)進(jìn)度條,所以下面這篇文章主要給大家介紹了關(guān)于Vue如何實(shí)現(xiàn)簡單的時(shí)間軸與時(shí)間進(jìn)度條的相關(guān)資料,需要的朋友可以參考下2022-09-09
vue使用prop可以渲染但是打印臺(tái)報(bào)錯(cuò)的解決方式
今天小編就為大家分享一篇vue使用prop可以渲染但是打印臺(tái)報(bào)錯(cuò)的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
詳解vue 單頁應(yīng)用(spa)前端路由實(shí)現(xiàn)原理
這篇文章主要介紹了詳解vue 單頁應(yīng)用(spa)前端路由實(shí)現(xiàn)原理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04
vue3?setup語法糖中獲取slot插槽的dom對(duì)象代碼示例
slot元素是一個(gè)插槽出口,標(biāo)示了父元素提供的插槽內(nèi)容將在哪里被渲染,這篇文章主要給大家介紹了關(guān)于vue3?setup語法糖中獲取slot插槽的dom對(duì)象的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04
基于Vue2實(shí)現(xiàn)數(shù)字縱向滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了如何基于Vue2實(shí)現(xiàn)數(shù)字縱向滾動(dòng)效果,從而達(dá)到顯示計(jì)時(shí)器滾動(dòng)效果,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03
基于Vue實(shí)現(xiàn)人民幣小寫轉(zhuǎn)為大寫功能
在金融類應(yīng)用中,經(jīng)常需要將金額從小寫數(shù)字轉(zhuǎn)換為大寫形式,這種轉(zhuǎn)換主要用于正式票據(jù)、合同等場合,以增加文本的專業(yè)性和可讀性,本文將詳細(xì)介紹如何在Vue.js項(xiàng)目中實(shí)現(xiàn)這一功能,并提供多個(gè)示例和詳細(xì)的代碼說明,需要的朋友可以參考下2024-09-09

