uniapp创建一个新项目并导入uview-plus框架

news2024/11/24 2:22:48

近年来,随着技术的发展,人们越来越意识到跨平台和统一的重要性。对于同一款应用来说,一般都会有移动端、PC端、甚至小程序端。这是由于设备的不同,我们必须要做很多的客户端来满足不同的用户需求。但是由于硬件设施的不同,我们往往对于同一款应用的两个不同端要编写两次代码,而这些代码中有很多都是可以复用的,那么有没有一张可能,我们只编写一次代码就能满足不同的设施需求呢。现在,介绍一款由国人(DCloud公司)开发的前端框架uniapp,完美的解决了这个问题。

uni-app 是一个使用 vue 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。

uniapp的官网地址:uni-app官网 (dcloud.net.cn)

DCloud退出了一款应用专门用来编译uniapp(本质还是Vue项目)HBuilderX。

这款工具是完全开源免费的,并且免安装,我们只需要解压之后就可以正常的使用。DCloud公司承诺将一直开源下去。

HBuilderX的下载地址在uniapp的官网中就可以找到

HBuilderX的下载地址:简介 - HBuilderX 文档 (dcloud.net.cn)

值得一提的是,DCloud有一个插件市场,我们可以在这里可以找到各种插件来快速提升我们的开发效率(需要特别说明的是,大部分插件是免费的,有些插件可以需要我们进行付费使用):DCloud 插件市场

接下来,我们言归正传。来使用HBuilderX来新建一个项目,并导入uview-plus的框架。

在这里简单介绍一下uview-plus框架。uview-plus,是全面兼容nvue的uni-app生态框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水,基于uView2.0初步修改,后续会陆续修复vue3兼容性,以及组合式API改造等。(就是一个样式框架,有了它,我们可以更轻松的写出满足大部分需求审美的样式)

1、打开HBuilderX软件,找到新建项目,在这里选择自己要新建的项目类型;

点击项目之后,会出现很多项目类型。我们需要根据自己的开发需求选择不同的项目类型;

在这里,我们直接选择uniapp类型的项目。在创建项目的时候可以选择一些模板来加快我们的开发,由于这里只是演示,所以就选择了默认模板。在创建项目的时候选择Vue版本为3,点击创建就可以成功的创建出一个uniapp项目了。

在这里先简单的介绍一个一个uniapp项目所具有的基本项目结构;

一个uni-app工程,默认包含如下目录及文件:

	
┌─uniCloud              云空间目录,支付宝小程序云为uniCloud-alipay,阿里云为uniCloud-aliyun,腾讯云为uniCloud-tcb(详见uniCloud)
│─components            符合vue组件规范的uni-app组件目录
│  └─comp-a.vue         可复用的a组件
├─utssdk                存放uts文件
├─pages                 业务页面文件存放的目录
│  ├─index
│  │  └─index.vue       index页面
│  └─list
│     └─list.vue        list页面
├─static                存放应用引用的本地静态资源(如图片、视频等)的目录,注意:静态资源都应存放于此目录
├─uni_modules           存放uni_module 详见
├─platforms             存放各平台专用页面的目录,详见
├─nativeplugins         App原生语言插件 详见
├─nativeResources       App端原生资源目录
│  ├─android            Android原生资源目录 详见
|  └─ios                iOS原生资源目录 详见
├─hybrid                App端存放本地html文件的目录,详见
├─wxcomponents          存放小程序组件的目录,详见
├─unpackage             非工程代码,一般存放运行或发行的编译结果
├─main.js               Vue初始化入口文件
├─App.vue               应用配置,用来配置App全局样式以及监听 应用生命周期
├─pages.json            配置页面路由、导航条、选项卡等页面类信息,详见
├─manifest.json         配置应用名称、appid、logo、版本等打包信息,详见
├─AndroidManifest.xml   Android原生应用清单文件 详见
├─Info.plist            iOS原生应用配置文件 详见
└─uni.scss              内置的常用样式变量

这里重点介绍一下pages目录。我们编写的所有页面都是在pages目录下进行的,相当于我们vue项目的views目录。有一点需要额外注意,在uniapp中是没有我们原本vue项目中的路由的。

之前写vue项目时都会就行路由的配置,现在,在uniapp中省去了这一步。我们只需要在pages.json文件中表明我们编写的页面路径即可展示出来。

一个初始的pages.json文件:

{
	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
		{
			"path": "pages/index/index",
			"style": {
				"navigationBarTitleText": "uni-app"
			}
		}
	],
	"globalStyle": {
		"navigationBarTextStyle": "black",
		"navigationBarTitleText": "uni-app",
		"navigationBarBackgroundColor": "#F8F8F8",
		"backgroundColor": "#F8F8F8"
	},
	"uniIdRouter": {}
}

我们要引入我们编写好的页面,只需要在pages数组下新建一个对象即可。

注意新建page文件时,要保证path路径的唯一性。这点与我们在vue项目中使用路由是相同的。

在pages目录下,新建两个.vue文件。在pages.json中将这两个页面引入进来。

"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
	
		{
			"path" : "pages/product/createdProduct",
			"style" : 
			{
				"navigationBarTitleText" : "生成商品",  //导航栏标题文字内容
				"enablePullDownRefresh" : true  //是否开启下拉刷新
			}
		},
		{
			"path" : "pages/product/productList",
			"style" : 
			{
				"navigationBarTitleText" : "商品列表",
				"enablePullDownRefresh" : true
			}
		}
		
		
		
		
		
	]

现在,我们已经将我们写的两个页面加入到了uniapp中(在之前的vue项目来看,相当于将这两个页面加入到了路由中)。那么,我们怎样进行页面的跳转呢。uniapp已经为我们封装好了专门用来跳转页面的函数。

uni.navigateTo()

使用这个函数,可以帮我们进行页面之间的跳转,并且在跳转的时候还可以传递参数。

//在起始页面跳转到test.vue页面并传递参数
uni.navigateTo({

 url: '/pages/test?id=1'
});

更多详细的使用可以直接在uniapp的官网中进行查看;

现在,我们要在项目中引入uview-plus框架,这个框架的作用是帮我们写出一些符合大众审美的样式,避免我们自己再进行复杂的样式编写。

uview-plus的官网如下:

uview-plus 3.0 - 全面兼容nvue的uni-app生态框架 - uni-app UI框架 (jiangruyi.com)

我们可以直接在DCloud的插件市场就写一键式的安装,

点击进入插件首页,可以直接一键式的将uview-plus插件下载进我们的uniapp项目中。

这个插件在下载的过程中需要我们观看一个广告才能下载下来,也相当于给作者带来一些微小的收益吧。

我们还可以通过使用npm的方式进行下载;

npm install uview-plus

下载依赖之后,我们还需要一些配置才能够正常的使用这个框架。

uview-plus的官方已经写好了配置文件的引入;

配置 | uview-plus 3.0 - 全面兼容nvue的uni-app生态框架 - uni-app UI框架 (jiangruyi.com)

进行安装和配置之后,我们可以在某个页面可以直接使用组件,无需通过import引入组件。

<template>
  <up-action-sheet :actions="list" v-model="show"></up-action-sheet>
</template>

<script setup>
import { ref } from 'vue';

const list = ref([
  {
    text: '点赞',
    color: 'blue',
    fontSize: 28
  },
  {
    text: '分享'
  },
  {
    text: '评论'
  }
]);

const show = ref(true);
</script>

总体来说,uniapp这个框架对于我们个人开发者来说是比较有好的。降低了我们开发微信小程序和app的难度,你只要有前端vue的开发经验就可以快速的上手uniapp这款框架。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1984813.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

谷粒商城实战笔记-131~132-商城业务-商品上架-构造sku检索属性和库存查询

文章目录 一&#xff0c;131-商城业务-商品上架-构造sku检索属性1&#xff0c;开发目标2&#xff0c;详细设计2.1&#xff0c;根据spu_id获取所有的规格参数2.2&#xff0c;根据上一步中查询结果进一步确认是否可搜索2.3&#xff0c;将可搜索的属性封装到Java模型中 二&#xf…

MySQL命令行工具的配置和使用

一、Windows启动命令行工具 1.打开Windows的开始菜单&#xff0c;找到安装好的MySQL&#xff0c;点击MySQL 8.0 Command Line Client - Unicode&#xff0c;这个带有Unicode的&#xff0c;是支持中文的&#xff0c;允许在命令行中敲中文。 然后从打开的窗口输入安装MySQL时设置…

【探索Linux】P.45(NAT技术 | NAPT技术)

阅读导航 引言一、NAT技术1. NAT技术引入2. NAT技术简介&#xff08;1&#xff09;基本原理&#xff08;2&#xff09;主要类型&#xff08;3&#xff09;技术优点&#xff08;4&#xff09;技术挑战&#xff08;5&#xff09;应用场景 二、NAPT温馨提示 引言 在上一篇文章中&…

NC 没有重复项数字的全排列

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 描述 给出一组数字…

【网络安全入门】学习网络安全必须知道的100 个网络基础知识_网络安全知识入门基础

什么是链接? 链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。 2 OSI 参考模型的层次是什么? 有 7 个 OSI 层&#xff1a;物理层&#xff0c;数据链路层&#xff0c;网络层&#xff0c;传输层&#xff0c;会话层&#xff0c;表示层…

接口测试之python+rquest+unittest分层自动化框架

接口测试之接口po框架 一、新建一个项目 接口自动化框架设计实战&#xff1a; 第一包&#xff1a;config 案例&#xff1a; #登录接口 dl_url http://cms.duoceshi.cn/cms/manage/loginJump.do dl_d {userAccount: admin, loginPwd: 123456} dl_h "Content-Type:app…

IP地址申请SSL证书的详细流程(ip地址实现https访问)

IP地址SSL证书是一种特殊的SSL/TLS证书&#xff0c;它被设计用于保护直接通过IP地址访问的服务。这种证书可以为IP地址提供HTTPS加密和身份验证。 IP地址申请SSL证书的详细流程如下&#xff1a; IP SSL证书-JoySSLhttps://www.joyssl.com/certificate/select/ip_certificate.…

查看pycharm里面的库的版本

1. 点击右下角 点击 2. 点击设置

金蝶云星空与致远 OA 的集成:实现高效流程审批

在当今数字化转型中&#xff0c;企业对于信息化系统的集成需求日益增长。金蝶云星空作为一款强大的企业资源管理系统&#xff0c;致远 OA 作为优秀的协同办公平台&#xff0c;两者的对接集成能够为企业带来更高效、更流畅的业务流程和审批体验。 一、集成的背景与意义 随着企业…

SpringBoot轻松实现邮件发送-copy即用

&#x1f469;&#x1f3fd;‍&#x1f4bb;个人主页&#xff1a;阿木木AEcru (更多精彩内容可进入主页观看) &#x1f525; 系列专栏&#xff1a;《Docker容器化部署系列》 《Java每日面筋》 &#x1f4b9;每一次技术突破&#xff0c;都是对自我能力的挑战和超越。 目录 前言一…

keeplive配置详解与haproxy配置详解

一、keepalive相关知识 1.1 keepalive介绍 keepalive即LVS集群当中的高可用架构&#xff0c;只是针对调度器的高可用。是高可用的HA架构。 keepalive就是基于VRRP协议来实现LVS高可用的方案。 1、组播地址 224.0.0.18&#xff0c;根据组播地址进行通信&#xff0c;主备之间发…

【学习笔记】A2X通信的协议(一)- 核心内容

3GPP TS 24.577 V18.1.0的技术规范&#xff0c;主要定义了5G系统中A2X通信的协议方面&#xff0c;特别是在PC5接口和Uu接口上的A2X服务。以下是文件的核心内容分析&#xff1a; 文档概述与目的&#xff1a; 技术规范背景&#xff1a;文档是3GPP在5G系统&#xff08;5GS&#x…

WEEK 4 周报

这周专题是图论&#xff1a; 目录 这周专题是图论&#xff1a; 树和图的存储及遍历&#xff1a; 存储&#xff1a; 遍历&#xff1a;(每个点只遍历一次&#xff0c;所以需要卡一个布尔数组标记是否已经被遍历) 1.深度优先遍历&#xff1a; 树的重心&#xff1a; 2.宽度…

Apache POl初学

介绍 入门案例 通过POI写入操作 /*** 使用POI操作Excel文件*/ public class POITest {/*** 通过POI创建Excel文件并写入文件内容**/public static void write() throws Exception{//在内存中创建一个Excel文件XSSFWorkbook excel new XSSFWorkbook();//在Excel中创建一个Shee…

麦田物语第十九天

系列文章目录 麦田物语第十九天 文章目录 系列文章目录一、保存和加载场景中的物品二、设置鼠标指针根据物品调整 一、保存和加载场景中的物品 本小节我们想要解决一个问题&#xff0c;就是当我们跳转场景后&#xff0c;在返回之前场景&#xff0c;发现场景中被我们拾取的物品…

md文件转doc文件

目录 起因 实践 python方式安装 安装包安装 转换 后记 起因 近期需要提交一些文件出去&#xff0c;一般都是要word或pdf版的&#xff0c;但是手头只有md格式的&#xff0c;于是需要将md转为doc 实践 问了下度娘&#xff0c;pandoc是个不错的方法&#xff0c;可以通过下…

【C++】:错误处理机制 -- 异常

目录 前言一&#xff0c;C语言传统的处理错误的方式二&#xff0c;C异常的概念三&#xff0c;异常的使用3.1 异常的抛出和匹配原则3.2 在函数调用链中异常栈展开匹配原则3.3 异常的重新抛出3.4 异常规范 四&#xff0c;自定义异常体系五&#xff0c;异常的优缺点 点击跳转至文章…

经典⾯试题,循环中使⽤闭包解决 var 定义函数的问题

⾸先因为 setTimeout 是个异步函数&#xff0c;所有会先把循环全部执⾏完毕&#xff0c;这时候 i 就是 5了&#xff0c;所以会输出6个 5。 解决办法两种&#xff0c;第一种使用闭包 &#xff1a; 第⼆种就是使用 setTimeout 的第三个参数&#xff1a; 第三种就是使用 let 定义 …

Power功效分析之方差原理及案例教程

Power功效分析常用于实验研究时样本量的计算&#xff08;或功效值计算&#xff09;&#xff0c;实验研究中进行方差分析的情况较多&#xff0c;在SPSSAU中单独将方差放成一个计算Power的方法&#xff0c;其具体包括单因素方差/双因素方差和多因素方差&#xff0c;具体如下表格所…

Callable 与 Runnable:多线程编程中的两大接口对比

Callable 与 Runnable&#xff1a;多线程编程中的两大接口对比 1、主要区别1.1 返回值1.2 使用方式 2、适用场景3、示例 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在Java多线程编程中&#xff0c;Callable和Runnable是两个核心接口&am…