最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue-cli?模式下安裝?uni-ui的詳細(xì)過程

 更新時(shí)間:2025年07月18日 10:12:02   作者:前端?賈公子  
文章介紹uni-app中easycom自定義組件機(jī)制,通過路徑規(guī)范和配置簡化組件使用流程,無需手動(dòng)注冊(cè)和導(dǎo)入,重點(diǎn)說明npm安裝uni-ui后需配置vue.config.js編譯,支持按需打包和自動(dòng)加載,提升開發(fā)效率,同時(shí)區(qū)分Vue/uvue優(yōu)先級(jí)及組件類型兼容性,感興趣的朋友一起看看吧

easycom

傳統(tǒng)vue組件,需要安裝、引用、注冊(cè),三個(gè)步驟后才能使用組件。easycom將其精簡為一步。

只要組件路徑符合規(guī)范(具體見下),就可以不用引用、注冊(cè),直接在頁面中使用。如下:

<template>
	<view class="container">
		<comp-a></comp-a>
		<uni-list>
		</uni-list>
	</view>
</template>
<script>
	// 這里不用import引入,也不需要在components內(nèi)注冊(cè)u(píng)ni-list組件。template里就可以直接用
	export default {
		data() {
			return {}
		}
	}
</script>

路徑規(guī)范指:

  1. 安裝在項(xiàng)目根目錄的components目錄下,并符合components/組件名稱/組件名稱.vue
  2. 安裝在uni_modules下,路徑為uni_modules/插件ID/components/組件名稱/組件名稱.vue

工程目錄:

┌─components
│  └─comp-a
│    └─comp-a.vue      符合easycom規(guī)范的組件
└─uni_modules          [uni_module](/plugin/uni_modules.md)中符合easycom規(guī)范的組件
   └─uni_modules
     └─uni-list
       └─components
         └─uni-list
           └─ uni-list.vue

不管components目錄下安裝了多少組件,easycom打包會(huì)自動(dòng)剔除沒有使用的組件,對(duì)組件庫的使用尤為友好。

組件庫批量安裝,隨意使用,自動(dòng)按需打包。以官方的uni-ui為例,在HBuilderX新建項(xiàng)目界面選擇uni-ui項(xiàng)目模板,只需在頁面中敲u,拉出大量組件代碼塊,直接選擇,即可使用。大幅提升開發(fā)效率,降低使用門檻。

uni-app插件市場(chǎng)下載符合components/組件名稱/組件名稱.vue目錄結(jié)構(gòu)的組件,均可直接使用。

自定義easycom配置的示例

easycom是自動(dòng)開啟的,不需要手動(dòng)開啟,有需求時(shí)可以在pages.jsoneasycom節(jié)點(diǎn)進(jìn)行個(gè)性化設(shè)置,如關(guān)閉自動(dòng)掃描,或自定義掃描匹配組件的策略。設(shè)置參數(shù)如下:

屬性類型默認(rèn)值描述
autoscanBooleantrue是否開啟自動(dòng)掃描,開啟后將會(huì)自動(dòng)掃描符合components/組件名稱/組件名稱.vue目錄結(jié)構(gòu)的組件
customObject-以正則方式自定義組件匹配規(guī)則。如果autoscan不能滿足需求,可以使用custom自定義匹配規(guī)則

如果你的組件,不符合easycom前述的路徑規(guī)范。可以在pages.json的easycom節(jié)點(diǎn)中自行定義路徑規(guī)范。

如果需要匹配node_modules內(nèi)的vue文件,需要使用packageName/path/to/vue-file-$1.vue形式的匹配規(guī)則,其中packageName為安裝的包名,/path/to/vue-file-$1.vue為vue文件在包內(nèi)的路徑。

"easycom": {
  "autoscan": true,
  "custom": {
    "^uni-(.*)": "@/components/uni-$1.vue", // 匹配components目錄內(nèi)的vue文件
    "^vue-file-(.*)": "packageName/path/to/vue-file-$1.vue" // 匹配node_modules內(nèi)的vue文件
  }
}

說明

  • easycom方式引入的組件無需在頁面內(nèi)import,也不需要在components內(nèi)聲明,即可在任意頁面使用。
  • easycom方式引入組件不是全局引入,而是局部引入。例如在H5端只有加載相應(yīng)頁面才會(huì)加載使用的組件。
  • 在組件名完全一致的情況下,easycom引入的優(yōu)先級(jí)低于手動(dòng)引入(區(qū)分連字符形式與駝峰形式)。
  • 考慮到編譯速度,直接在pages.json內(nèi)修改easycom不會(huì)觸發(fā)重新編譯,需要改動(dòng)頁面內(nèi)容觸發(fā)。
  • easycom只處理vue組件,不處理小程序?qū)S媒M件(如微信的wxml格式組件)。不處理后綴為.nvue的組件。因?yàn)閚vue頁面引入的組件也是.vue組件??梢詤⒖紆ni ui,使用vue后綴,同時(shí)兼容nvue頁面。
  • nvue頁面里引用.vue后綴的組件,會(huì)按照nvue方式使用原生渲染,其中不支持的css會(huì)被忽略掉。這種情況同樣支持easycom
  • vue 與 uvue 組件優(yōu)先級(jí),詳見。

注意這里作者遇到一個(gè)問題 如果你引入的組件文件包含package.json 比如MonoRepo項(xiàng)目中

并且配置了 exports 字段 對(duì)外其實(shí)是封閉的 ,導(dǎo)致 easycom 掃描不到組件建議配置

 "./*": "./src/*" 放開 exports 的限制

  "exports": {
    "./baseCss": "./src/assets/base.css",
    ".": "./src/index.js",
    "./*": "./src/*"
  }
}

npm安裝 uni-ui

在 -項(xiàng)目中可以使用 npm 安裝 uni-ui 庫 ,或者直接在 HBuilderX 項(xiàng)目中使用 npm 。

注意 cli 項(xiàng)目默認(rèn)是不編譯 node_modules 下的組件的,導(dǎo)致條件編譯等功能失效 ,導(dǎo)致組件異常 需要在根目錄創(chuàng)建 vue.config.js 文件 ,增加 @dcloudio/uni-ui 包的編譯即可正常

// 在根目錄創(chuàng)建 vue.config.js 文件,并配置如下
module.exports = {
   transpileDependencies: ['@dcloudio/uni-ui']
}
// 如果是 vue3 + vite, 無需添加配置

準(zhǔn)備 sass

vue-cli 項(xiàng)目請(qǐng)先安裝 sass 及 sass-loader,如在 HBuliderX 中使用,可跳過此步。

  • 安裝 sass
 npm i sass -D   或   yarn add sass -D  
  • 安裝 sass-loader
npm i sass-loader@10.1.1 -D   或   yarn add sass-loader@10.1.1 -D

如果 node 版本小于 16 ,sass-loader 請(qǐng)使用低于 @11.0.0 的版本,sass-loader@11.0.0 不支持 vue@2.6.12  如果 node 版本大于 16 , sass-loader 建議使用 v8.x 版本

安裝 uni-ui

npm i @dcloudio/uni-ui   或   yarn add @dcloudio/uni-ui

配置easycom

使用 npm 安裝好 uni-ui 之后,需要配置 easycom 規(guī)則,讓 npm 安裝的組件支持 easycom

打開項(xiàng)目根目錄下的 pages.json 并添加 easycom 節(jié)點(diǎn):

// pages.json
{
	"easycom": {
		"autoscan": true,
		"custom": {
			// uni-ui 規(guī)則如下配置
			"^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue"
		}
	},
	// 其他內(nèi)容
	pages:[
		// ...
	]
}

在 template 中使用組件:

<uni-badge text="1"></uni-badge>
<uni-badge text="2" type="success" @click="bindClick"></uni-badge>
<uni-badge text="3" type="primary" :inverted="true"></uni-badge>

注意

uni-ui 現(xiàn)在只推薦使用 easycom ,如自己引用組件,可能會(huì)出現(xiàn)組件找不到的問題

使用 npm 安裝的組件,默認(rèn)情況下 babel-loader 會(huì)忽略所有 node_modules 中的文件 ,導(dǎo)致條件編譯失效,需要通過配置 vue.config.js 解決:

// 在根目錄創(chuàng)建 vue.config.js 文件,并配置如下
module.exports = {
   transpileDependencies: ['@dcloudio/uni-ui']
}
// 如果是 vue3 + vite, 無需添加配置

uni-ui 是uni-app內(nèi)置組件的擴(kuò)展。注意與web開發(fā)不同,uni-ui不包括基礎(chǔ)組件,它是基礎(chǔ)組件的補(bǔ)充。web開發(fā)中有的開發(fā)者習(xí)慣用一個(gè)ui庫完成所有開發(fā),但在uni-app體系中,推薦開發(fā)者首先使用性能更高的基礎(chǔ)組件,然后按需引入必要的擴(kuò)展組件。

uni-ui 不支持使用 Vue.use() 的方式安裝

到此這篇關(guān)于vue-cli 模式下安裝 uni-ui的文章就介紹到這了,更多相關(guān)vue cli 安裝 uni-ui內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue利用高德地圖API實(shí)現(xiàn)實(shí)時(shí)天氣

    Vue利用高德地圖API實(shí)現(xiàn)實(shí)時(shí)天氣

    這篇文章主要為大家詳細(xì)介紹了Vue如何利用高德地圖API實(shí)現(xiàn)實(shí)時(shí)天氣,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • vue的toast彈窗組件實(shí)例詳解

    vue的toast彈窗組件實(shí)例詳解

    本文通過實(shí)例給大家講解了vue的toast彈窗組件功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-05-05
  • vuejs數(shù)據(jù)超出單行顯示更多,點(diǎn)擊展開剩余數(shù)據(jù)實(shí)例

    vuejs數(shù)據(jù)超出單行顯示更多,點(diǎn)擊展開剩余數(shù)據(jù)實(shí)例

    這篇文章主要介紹了vuejs數(shù)據(jù)超出單行顯示更多,點(diǎn)擊展開剩余數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • vuejs如何配置less

    vuejs如何配置less

    本篇文章主要介紹了vuejs如何配置less,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • VUE3安裝element?ui失敗的原因以及解決辦法

    VUE3安裝element?ui失敗的原因以及解決辦法

    這篇文章主要給大家介紹了關(guān)于VUE3安裝element?ui失敗的原因以及解決的相關(guān)資料,很多朋友升級(jí)使用Vue3了,但在安裝element?ui失敗出錯(cuò)了,這里給大家總結(jié)下,需要的朋友可以參考下
    2023-09-09
  • vue2.x element-ui實(shí)現(xiàn)pc端購物車頁面demo

    vue2.x element-ui實(shí)現(xiàn)pc端購物車頁面demo

    這篇文章主要為大家介紹了vue2.x element-ui實(shí)現(xiàn)pc端購物車頁面demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • vue如何實(shí)現(xiàn)動(dòng)態(tài)改變地址欄的參數(shù)值

    vue如何實(shí)現(xiàn)動(dòng)態(tài)改變地址欄的參數(shù)值

    這篇文章主要介紹了vue如何實(shí)現(xiàn)動(dòng)態(tài)改變地址欄的參數(shù)值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Vue如何優(yōu)雅處理Token過期并自動(dòng)續(xù)期

    Vue如何優(yōu)雅處理Token過期并自動(dòng)續(xù)期

    干了6年前端,和Token斗智斗勇了不知道多少回,本文小編就跟大家聊聊如何優(yōu)雅處理Token過期,甚至讓它自動(dòng)續(xù)期,讓用戶無感知,有需要的小伙伴可以了解下
    2025-07-07
  • Vue 過渡實(shí)現(xiàn)輪播圖效果

    Vue 過渡實(shí)現(xiàn)輪播圖效果

    本篇文章主要介紹了Vue 過渡實(shí)現(xiàn)輪播圖效果,Vue 的過渡系統(tǒng)是內(nèi)置的,在元素從 DOM 中插入或移除時(shí)自動(dòng)應(yīng)用過渡效果。有需要的小伙伴可以參考下。
    2017-03-03
  • vue3中emit('update:modelValue')使用簡單示例

    vue3中emit('update:modelValue')使用簡單示例

    這篇文章主要給大家介紹了關(guān)于vue3中emit('update:modelValue')使用的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-09-09

最新評(píng)論

宣恩县| 黄石市| 盐源县| 如皋市| 缙云县| 班玛县| 平定县| 鄂州市| 玉溪市| 大邑县| 榆中县| 正镶白旗| 祁门县| 洪江市| 商河县| 汾西县| 闻喜县| 麦盖提县| 汉川市| 娄烦县| 大英县| 武川县| 内乡县| 密云县| 罗山县| 江口县| 高陵县| 伊吾县| 黄山市| 扬中市| 灵山县| 确山县| 和平县| 盖州市| 行唐县| 秦皇岛市| 綦江县| 郴州市| 衡阳县| 玉树县| 利川市|