当前位置: 首页 > article >正文

uniapp 中引入使用uView UI

文章目录

  • 一、前言:选择 uView UI的原因
  • 二、完整引入步骤
    • 1. 安装 uView UI
    • 2. 配置全局样式变量(关键!)
    • 3. 在 pages.json中添加:
    • 4. 全局注册组件
    • 5. 直接使用组件
  • 五、自定义主题色(秒换皮肤)

一、前言:选择 uView UI的原因

uView UI 是 uni-app 生态中高颜值、高拓展性、开发体验友好的组件库,提供 100+ 组件和丰富工具,能极大提升开发效率。


二、完整引入步骤

1. 安装 uView UI

在项目根目录执行命令(确保已安装 Node.js):

npm install uview-ui

验证安装成功
查看项目根目录是否生成 uview-ui 文件夹,结构如下:

uview-ui/
  ├── components/   # 所有组件源码
  ├── libs/         # 工具库(如请求封装)
  ├── theme.scss    # 核心样式变量文件
  └── index.scss    # 全量样式文件(慎用!)

2. 配置全局样式变量(关键!)

uni.scss 文件中引入主题文件(支持自定义主题色、间距等):

/** uni.scss */
@import '@/uview-ui/theme.scss';  // 核心样式依赖此文件

为什么必须做这一步?

  • uView 的组件样式依赖 theme.scss 中的变量定义
  • 后续自定义主题色、字体大小等都通过修改此文件实现

3. 在 pages.json中添加:

{
  "easycom": {
    "autoscan": true,
    "custom": {
      "^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
    }
  }
}

4. 全局注册组件

main.js 中添加以下代码:

// main.js
import uView from 'uview-ui';
Vue.use(uView);  // 全局注册所有组件

5. 直接使用组件

在任意页面中无需导入,直接使用:

<template>
  <view class="container">
    <u-button type="primary" text="提交"></u-button>
    <u-icon name="home" size="24"></u-icon>
  </view>
</template>
<!-- 无需 script 导入! -->

五、自定义主题色(秒换皮肤)

uni.scss 中覆盖默认变量:

/** uni.scss
 自定义主题色(必须放在引入 theme.scss 之前!) **/
$u-primary: #FF0000;    // 主题红
$u-warning: #FF9900;    // 警告橙

@import '@/uview-ui/theme.scss';

修改后重启项目即可生效!


组件未找到?

  • 检查1:确认 uview-ui 文件夹在项目根目录
  • 检查2:若使用 easycom,路径必须为 @/uview-ui/...
  • 检查3:删除 node_modules 后重新安装依赖


http://www.kler.cn/a/568592.html

相关文章:

  • 前端文件分片上传深度解析:从原理到实践
  • 大模型微调入门(Transformers + Pytorch)
  • YOLOv8目标检测推理流程及C++代码
  • 5分钟看懂Deepseek开源周之六:Deepseek-V3/R1推理系统设计----揭开深度求索模型系统设计和运营成本之谜
  • 河南理工XCPC萌新选拔赛
  • 蓝桥杯备赛-前缀和-可获得的最小取值
  • fiscoBcos中手动部署webase-front
  • 《白帽子讲 Web 安全》之移动 Web 安全
  • 分布式微服务系统架构第92集:智能健康监测设备Java开发方案
  • 【Java项目】基于SpringBoot的地方废物回收机构管理系统
  • centos 下dockers部署surveyking-docker开源考试系统
  • 算法分析 —— 《栈》
  • Android6到Android15版本新增的功能和api
  • 2025-03-01 学习记录--C/C++-C语言 整数类型对比
  • Github 2025-03-02 php开源项目日报Top10
  • AUTOSAR简介
  • 【图文详解】什么是微服务?什么是SpringCloud?
  • Python请求微店商品详情数据API接口
  • SCConv模块在YOLOv8中的多维特征重构与轻量化研究
  • 墨刀:Axure托管插件登录/注册时出现空白页