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

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

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

easycom

傳統vue組件,需要安裝、引用、注冊,三個步驟后才能使用組件。easycom將其精簡為一步。

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

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

路徑規(guī)范指:

  1. 安裝在項目根目錄的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打包會自動剔除沒有使用的組件,對組件庫的使用尤為友好。

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

uni-app插件市場下載符合components/組件名稱/組件名稱.vue目錄結構的組件,均可直接使用。

自定義easycom配置的示例

easycom是自動開啟的,不需要手動開啟,有需求時可以在pages.jsoneasycom節(jié)點進行個性化設置,如關閉自動掃描,或自定義掃描匹配組件的策略。設置參數如下:

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

如果你的組件,不符合easycom前述的路徑規(guī)范??梢栽趐ages.json的easycom節(jié)點中自行定義路徑規(guī)范。

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

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

說明

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

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

并且配置了 exports 字段 對外其實是封閉的 ,導致 easycom 掃描不到組件建議配置

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

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

npm安裝 uni-ui

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

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

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

準備 sass

vue-cli 項目請先安裝 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 請使用低于 @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

打開項目根目錄下的 pages.json 并添加 easycom 節(jié)點:

// pages.json
{
	"easycom": {
		"autoscan": true,
		"custom": {
			// uni-ui 規(guī)則如下配置
			"^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue"
		}
	},
	// 其他內容
	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 現在只推薦使用 easycom ,如自己引用組件,可能會出現組件找不到的問題

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

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

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

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

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

相關文章

  • vue?實現列表跳轉至詳情且能添加至購物車功能

    vue?實現列表跳轉至詳情且能添加至購物車功能

    列表頁面顯示數據,點擊跳轉到對應的詳情頁,詳情頁可以添加并跳轉到購物車,購物車具有常見功能,這篇文章主要介紹了vue?實現列表跳轉至詳情且能添加至購物車,需要的朋友可以參考下
    2022-10-10
  • Vue3中使用富文本編輯器的示例詳解

    Vue3中使用富文本編輯器的示例詳解

    有不少的前端需求都需要使用到富文本編輯器,所以這篇文章主要來和大家介紹一下如何在Vue3項目中使用富文本編輯器,感興趣的可以了解下
    2024-04-04
  • 關掉vue插件Vetur格式化的時候自動添加的樣式操作

    關掉vue插件Vetur格式化的時候自動添加的樣式操作

    這篇文章主要介紹了關掉vue插件Vetur格式化的時候自動添加的樣式操作,文章圍繞主題展開操作過程,需要的小伙伴可以參考一下,希望對你有所幫助
    2022-05-05
  • Vue3自定義Echars組件附帶全局配置方式

    Vue3自定義Echars組件附帶全局配置方式

    這篇文章主要介紹了Vue3自定義Echars組件附帶全局配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 關于vue中計算屬性computed的詳細講解

    關于vue中計算屬性computed的詳細講解

    computed是vue的配置選項,它的值是一個對象,其中可定義多個計算屬性,每個計算屬性就是一個函數,下面這篇文章主要給大家介紹了關于vue中計算屬性computed的詳細講解,需要的朋友可以參考下
    2022-07-07
  • 使用elementUI的表格table給列添加樣式

    使用elementUI的表格table給列添加樣式

    這篇文章主要介紹了使用elementUI的表格table給列添加樣式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue3中做文件預覽的項目實踐

    vue3中做文件預覽的項目實踐

    本文主要介紹了在Vue3項目中實現常見文件類型的預覽功能,包括docx、xlsx、pdf、txt、png、jpg、jpeg、mp4和mp3,具有一定的參考價值,感興趣的可以了解一下
    2025-01-01
  • 在vue3項目中實現國際化的代碼示例

    在vue3項目中實現國際化的代碼示例

    國際化就是指在一個項目中,項目中的語言可以進行切換(中英文切換),那么在實際項目中是如何實現的呢,本文就給大家詳細的介紹實現方法,需要的朋友可以參考下
    2023-07-07
  • vue-cli3.0使用及部分配置詳解

    vue-cli3.0使用及部分配置詳解

    這篇文章主要介紹了vue-cli3.0使用及部分配置詳解,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • 關于vue跳轉后頁面置頂的問題

    關于vue跳轉后頁面置頂的問題

    這篇文章主要介紹了關于vue跳轉后頁面置頂的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05

最新評論