uView组件库安装及配置

1,704 阅读2分钟

uView安装

uni-app之uview-ui框架安装使用教程

uview配置的原理

1. 引入uView主JS库

// main.js
import uView from "uview-ui";
Vue.use(uView);

2. 引入uView的全局SCSS主题文件

uni-app不支持将SCSS变量相关的样式通过App.vue引入,为了统一的主题,以及日后的扩展, 目前一些跟颜色相关的scss变量定义在全局变量中,这些变量有独特的命名(u-开头),不会与您的类名冲突。

这些变量需要写入到项目根目录的uni.scss中才有效(这是uni-app的机制问题),它有一个特点是,编译成微信小程序后,不但注入到小程序工程 根目录的app.wxss(全局样式文件),而且还会同步注入到每一个页面单独的*.wxss中,所以如果您在uni.scss中的样式很多的话,有可能导致 微信小程序编译单个包超出限制的2M大小,整包超出最大的12M大小,从而导致无法真机调试和发布微信小程序。

所以,我们建议,只将一些跟scss主题,变量相关的样式写入到uni.scss,而其他一般的全局样式文件,通过App.vue引入即可,在微信小程序编译的时候, 它只会编译到小程序根目录的app.wxss中,而不会注入到其他的单个页面的样式中。

3. 引入基础样式

由于目前(2020-04-29)uni-app的V3模式不支持在main.js中引入样式文件,故需要在App.vue中引入uView的基础全局样式。
同时上面第2点也有说明,App.vue的样式为全局样式,微信小程序编译后只会注入到小程序根目录的app.wxss中。

4. 配置easycom组件模式

easycom功能可以让用户无需安装、引用、注册,三个步骤后才能使用组件,详见easycom文档

easycom的另一个最大的特点是,它是按需引入的,所以您引入了整个uView组件,即使只用到了button组件,最终打包的时候只会把button打包进去,其他的组件都会被剔除。

Hbuilder X自2.5.1版开始正式支持easycom特性,HX2.5.5版支持自动引入components/组件名称/组件名称.vue,考虑到用户的一些自定义组件 都会放在components目录中,为了不和用户的自定义组件混淆,同时也是为了能让用户一键升级uView,所以我们把uView相关的所有内容都放在了根目录的 uview-ui文件夹中。

uview配置

1.将uview-ui拷进项目

2.在pages.json文件最上面添加

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

3.在APP文件中引用以下scss

<style lang="scss">
  /*每个页面公共css */
  @import 'uview-ui/index.scss'; //引用uview-ui框架样式
  @import 'styles/index.scss'; //引用自定义变量
  @import 'styles/uview.scss'; //引用修改的uview-ui自定义养殖
</style>

@import "./static/css/common/iconfont.css"; //引用字体样式库

4.在uni.scss文件中引用以下scss

@import 'uview-ui/theme.scss'; //uView UI的集成样式文件
@import 'styles/mixin.scss'; //项目自定义scss变量

5.在main.js 引入全局uView

import uView from 'uview-ui'
Vue.use(uView);