uniapp之通过vue-cli命令行创建Vue3/Vite版,JavaScript开发,引入uni-ui扩展组件

注意:

Vue3/Vite版要求 node 版本^14.18.0 || >=16.0.0
如果使用 HBuilderX(3.6.7以下版本)运行 Vue3/Vite 创建的最新的 cli 工程,需要在 HBuilderX 运行配置最底部设置 node路径 为自己本机高版本 node 路径(注意需要重启 HBuilderX 才可以生效)

  • HBuilderX Mac 版本菜单栏左上角 HBuilderX->偏好设置->运行配置->node路径
  • HBuilderX Windows 版本菜单栏 工具->设置->运行配置->node路径

环境安装
1.全局安装 vue-cli

npm install -g @vue/cli

2.创建以 javascript 开发的工程(如命令行创建失败,请直接访问 gitee 下载模板)

npx degit dcloudio/uni-preset-vue#vite my-vue3-project

3.准备 sass

 npm i sass -D   或   yarn add sass -D  

4.安装 sass-loader

npm i sass-loader@10.1.1 -D   或   yarn add sass-loader@10.1.1 -D

5.安装 uni-ui

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

6.配置easycom

使用 npm 安装好 uni-ui 之后,需要配置 easycom 规则,让 npm 安装的组件支持 easycom

打开项目根目录下的 pages.json 并添加 easycom 节点:

// pages.json
{
	"easycom": {
		"autoscan": true,
		"custom": {
			// uni-ui 规则如下配置
			"^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 解决:

// 在根目录创建 vue.config.js 文件,并配置如下
module.exports = {
   transpileDependencies: ['@dcloudio/uni-ui']
}
// 如果是 vue3 + vite, 无需添加配置
  • uni-ui 是uni-app内置组件的扩展。注意与web开发不同,uni-ui不包括基础组件,它是基础组件的补充。web开发中有的开发者习惯用一个ui库完成所有开发,但在uni-app体系中,推荐开发者首先使用性能更高的基础组件,然后按需引入必要的扩展组件。
  • uni-ui 不支持使用 Vue.use() 的方式安装
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Uni-UI 是一个基于 Vue.js 3.x 开发UI 组件库,它提供了一些常用的 UI 组件和一些常用的功能组件,比如表单校验。在 Vue 3.x 中,可以使用 `setup` 函数来定义组件,同时也可以使用 Vue 3.x 的 Composition API 来编写表单校验逻辑。 对于表单校验,Uni-UI 提供了 `validator` 组件来进行校验,使用方法如下: 1. 在 `template` 中引入 `validator` 组件,并为其绑定需要校验的数据项和校验规则。 2. 在 `setup` 函数中引入 `useValidator` 方法,并将需要校验的数据项和校验规则作为参数传递给该方法。 3. 在 `setup` 函数中调用 `useValidator` 方法并将其返回值绑定到模板中,以便在模板中使用校验结果。 下面是一个简单的示例: ``` <template> <validator :rules="rules" v-model="formData"> <input v-model="formData.username" /> <input v-model="formData.password" /> <button @click="submit">提交</button> </validator> </template> <script> import { useValidator } from 'uni-ui'; export default { setup() { const rules = { username: [ { required: true, message: '用户名不能为空' }, { min: 6, max: 16, message: '用户名长度必须在 6 到 16 个字符之间' }, ], password: [ { required: true, message: '密码不能为空' }, { min: 8, max: 20, message: '密码长度必须在 8 到 20 个字符之间' }, ], }; const formData = ref({ username: '', password: '', }); const { validate } = useValidator(formData, rules); const submit = () => { validate() .then(() => { // 校验通过,提交表单数据 }) .catch((errors) => { // 校验未通过,提示错误信息 }); }; return { rules, formData, submit, }; }, }; </script>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值