基于vue的uni-app生态——学习笔记001

news2025/7/10 20:00:05

目录

vue的简介

什么是vue.js

vue相比传统的js开发优势有哪些

vue的优势

与传统的开发文件相比的类型变换

与传统的开发相比开发文件内部架构的变化

uni-app生态(编辑器的使用)

编辑器的下载

编辑器的使用

基于vue开发的uni-app生态的文件结构

创建完一个新的目录后,文件结构如下

​编辑

各个文件夹的作用及使用方式

关联服务空间文件夹

关联云服务空间说明

创建项目中页面文件夹

 静态资源文件夹

引用或下载的网络组件文件夹

 App.vue文件

入口文件

vue项目的入口文件

uni-app生态的基础配置文件

页面路由配置文件

控制应用的风格文件


 

vue的简介

什么是vue.js

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。Vue 被设计为可以自底向上逐层应用。

Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。所有 Vue.js 的模板都是合法的 HTML,所以能被遵循规范的浏览器和 HTML 解析器解析。

在底层的实现上,Vue 将模板编译成虚拟 DOM 渲染函数。结合响应系统,Vue 能够智能地计算出最少需要重新渲染多少组件,并把 DOM 操作次数减到最少。

Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统,只关注视图层,易于上手。所有东西都是响应式的。

vue相比传统的js开发优势有哪些

在传统开发中,用原生的 JavaScript DOM 操作函数对 DOM 进行频繁操作的时候,浏览器要不停的渲染新的 DOM 树,导致页面看起来非常卡顿。

vue 是单页面应用,使页面局部刷新,不用每次跳转页面都要请求所有数据和 DOM ,这样大大加快了访问速度和提升用户体验。

vue的优势

  • 轻量级渐进式框架
  • 视图、数据和结构的分离
  • 响应式双向数据绑定
  • 组件化
  • 虚拟DOM
  • 运行速度快,易于上手
  • 便于与第三方库或既有项目整合

与传统的开发文件相比的类型变换

  • 以前是.html文件,开发也是html,运行也是html。
  • 现在是.vue文件,开发是vue,经过编译后,运行时已经变成了js文件。
  • 现代前端开发,很少直接使用HTML,基本都是开发、编译、运行。所以 uni-app 有编译器、运行时的概念。

与传统的开发相比开发文件内部架构的变化

以前一个 html 大节点,里面有 script 和 style 节点

	<!DOCTYPE html>  
	<html>  
		<head>  
			<meta charset="utf-8" />  
			<title></title>  
			<script type="text/javascript">  
			</script>  
			<style type="text/css">  
			</style>  
		</head>  
		<body>  
		</body>  
	</html>

现在 template 是一级节点,用于写tag组件, script 和 style 是并列的一级节点,也就是有3个一级节点。这个叫vue单文件组件规范sfcicon-default.png?t=N176https://cn.vuejs.org/v2/guide/single-file-components.html

	<template>  
		<view>  
		注意必须有一个view,且只能有一个根view。所有内容写在这个view下面。  
		</view>  
	</template>  
	<script>  
		export default {  
		}  
	</script>  
	<style>  
	</style>

uni-app生态(编辑器的使用)

编辑器的下载

1.编辑器:HBuilder X

2.编辑器下载地址:HBuilderX-高效极客技巧 (dcloud.io)

3.编辑器的图标:

 

编辑器的使用

1.选择”文件“、”新建“、”项目“

 然后显示的时一下的界面:

界面左边:

项目栏中:”uni-app“、"Wap2App"、”5+App“、”IDE插件“

界面右边:

1.输入”项目名称“

2.选择项目文件存储的本地位置

3.选择模板

4.选择vue版本,这里有vue2和vue3的版本供我们选择

5.如果开发者没有服务器的话,可选择unicloud云开发(阿里云/腾讯云)

6.我们也可以选择将我们的代码上传到Gitcode平台

 7.最后我们点击创建,就可以创建完成一个空的项目了(当我们创建完项目后,控制台里面会弹出”***创建成功“,就表明我们的项目创建成功了)

 

基于vue开发的uni-app生态的文件结构

创建完一个新的目录后,文件结构如下

各个文件夹的作用及使用方式

关联服务空间文件夹

关联云服务空间说明

说明:当我们创建项目文件时,选择”启用unicloud“云开发时,我们进入项目后就会显示一个”关联服务空间“的一个文件名提示。

1.右键选择”关联云服务空间或项目“

2.选择后,如果我们还没有服务空间,就得新创建一个服务空间

 3.我们选择我们的服务套餐

 4.创建好之后,我们就可以进入我们创建的云服务空间了

 5.返回到我们的HBuilder X编辑器,选择我们已经创键好的云服务空间

 6.选择后,我们会发现,我们创建的项目目录里面已经匹配上我们的云服务空间了

创建项目中页面文件夹

1.我们右键”pages“,选择”新建页面“

2.我们输入我们要创建页面的名字以及选择开发的模板,最终会创建一个vue的文件。

注意:红色圆圈里面的一定要勾选上,否则,我们需要手动去配置,不然我们后期写跳转或者页面联动的时候,就会出bug!

3.创建完成

4.查看pages.json文件里面的页面路径配置

 静态资源文件夹

静态资源文件夹里面存储的都是我们开发时候用到的图片或者视频等一些资源,比如:

新的项目创建后会自动给我们一个logo图标:

 

引用或下载的网络组件文件夹

此文件夹里存放的都是,比如:我们开发时候所用到的一些网络下载的组件(ui组件等)

 App.vue文件

为此项目文件的全局文件,开发时可借用此文件创建全局变量或全局样式等。

举例(全局样式):

 

入口文件

对于vue来说index.html是一个总的入口文件,vue是单页面应用,挂在id为app的div下,然后动态渲染路由模板。

 

 vue项目的入口文件

 

main.js是项目的入口文件,项目中所有的页面都会加载main.js,所以main.js,主要有三个作用:

1.实例化Vue。
2.放置项目中经常会用到的插件和CSS样式。例如: 网络请求插件:axios和vue-resource、图片懒加载插件:vue-lazyload
3.存储全局变量。例如(用于的基本信息)

import App from './App'

// #ifndef VUE3
import Vue from 'vue'
Vue.config.productionTip = false
App.mpType = 'app'

try {
  function isPromise(obj) {
    return (
      !!obj &&
      (typeof obj === "object" || typeof obj === "function") &&
      typeof obj.then === "function"
    );
  }

  // 统一 vue2 API Promise 化返回格式与 vue3 保持一致
  uni.addInterceptor({
    returnValue(res) {
      if (!isPromise(res)) {
        return res;
      }
      return new Promise((resolve, reject) => {
        res.then((res) => {
          if (res[0]) {
            reject(res[0]);
          } else {
            resolve(res[1]);
          }
        });
      });
    },
  });
} catch (error) { }

const app = new Vue({
  ...App
})
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
export function createApp() {
  const app = createSSRApp(App)
  return {
    app
  }
}
// #endif

 uni-app生态的基础配置文件

 此文件可在项目打包发布或配置时使用

具体的详情可见:uni-app官网 (dcloud.net.cn)icon-default.png?t=N176https://uniapp.dcloud.net.cn/

 页面路由配置文件

此文件就是我们上面创建pages页面的时候我们勾选自动配置pages.json的文件

作用:配置我们项目中创建页面的路由、移动端可创建tabBar、创建每个页面的标题等

详情可查看:uni-app官网 (dcloud.net.cn)icon-default.png?t=N176https://uniapp.dcloud.net.cn/collocation/pages.html#%E9%85%8D%E7%BD%AE%E9%A1%B9%E5%88%97%E8%A1%A8

 控制应用的风格文件

uni.scss文件的用途是为了方便整体控制应用的风格。比如按钮颜色、边框风格,uni.scss文件里预置了一批scss变量预置。

uni.scss是一个特殊文件,在代码中无需 import 这个文件即可在scss代码中使用这里的样式变量。uni-app的编译器在webpack配置中特殊处理了这个uni.scss,使得每个scss文件都被注入这个uni.scss,达到全局可用的效果。如果开发者想要less、stylus的全局使用,需要在vue.config.js中自行配置webpack策略。

注意:

  1. 如要使用这些常用变量,需要在 HBuilderX 里面安装 scss 插件;
  2. 使用时需要在 style 节点上加上 lang="scss"
  3. pages.json不支持scss,原生导航栏和tabbar的动态修改只能使用js api
<style lang="scss">
</style>

相关变量

/* 颜色变量 */

/* 行为相关颜色 */
$uni-color-primary: #007aff;
$uni-color-success: #4cd964;
$uni-color-warning: #f0ad4e;
$uni-color-error: #dd524d;

/* 文字基本颜色 */
$uni-text-color:#333;//基本色
$uni-text-color-inverse:#fff;//反色
$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息
$uni-text-color-placeholder: #808080;
$uni-text-color-disable:#c0c0c0;

/* 背景颜色 */
$uni-bg-color:#ffffff;
$uni-bg-color-grey:#f8f8f8;
$uni-bg-color-hover:#f1f1f1;//点击状态颜色
$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色

/* 边框颜色 */
$uni-border-color:#c8c7cc;

/* 尺寸变量 */

/* 文字尺寸 */
$uni-font-size-sm:24rpx;
$uni-font-size-base:28rpx;
$uni-font-size-lg:32rpx;

/* 图片尺寸 */
$uni-img-size-sm:40rpx;
$uni-img-size-base:52rpx;
$uni-img-size-lg:80rpx;

/* Border Radius */
$uni-border-radius-sm: 4rpx;
$uni-border-radius-base: 6rpx;
$uni-border-radius-lg: 12rpx;
$uni-border-radius-circle: 50%;

/* 水平间距 */
$uni-spacing-row-sm: 10px;
$uni-spacing-row-base: 20rpx;
$uni-spacing-row-lg: 30rpx;

/* 垂直间距 */
$uni-spacing-col-sm: 8rpx;
$uni-spacing-col-base: 16rpx;
$uni-spacing-col-lg: 24rpx;

/* 透明度 */
$uni-opacity-disabled: 0.3; // 组件禁用态的透明度

/* 文章场景相关 */
$uni-color-title: #2C405A; // 文章标题颜色
$uni-font-size-title:40rpx;
$uni-color-subtitle: #555555; // 二级标题颜色
$uni-font-size-subtitle:36rpx;
$uni-color-paragraph: #3F536E; // 文章段落颜色
$uni-font-size-paragraph:30rpx;

 详情可查看:uni-app官网 (dcloud.net.cn)icon-default.png?t=N176https://uniapp.dcloud.net.cn/collocation/pages.html#%E9%85%8D%E7%BD%AE%E9%A1%B9%E5%88%97%E8%A1%A8

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

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

相关文章

CANoe中使用CAPL刷写流程详解(Trace图解)(CAN总线)

&#x1f345; 我是蚂蚁小兵&#xff0c;专注于车载诊断领域&#xff0c;尤其擅长于对CANoe工具的使用&#x1f345; 寻找组织 &#xff0c;答疑解惑&#xff0c;摸鱼聊天&#xff0c;博客源码&#xff0c;点击加入&#x1f449;【相亲相爱一家人】&#x1f345; 玩转CANoe&…

Vue初入,了解Vue的发展与优缺点

作者简介&#xff1a;一名计算机萌新、前来进行学习VUE,让我们一起进步吧。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;我叫于豆豆吖的主页 前言 从本章开始进行Vue前端的学习&#xff0c;了解Vue的发展&#xff0c;以及背后的故事。 一.vue介…

一、Django基础介绍

一、Django介绍 Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。Django 是一个开放源代码的 Web 应用框架&#xff0c;由 Python 写成。Django 遵守 BSD 版权&#xff0c;初次发布于 2005 年 7 月, 并于 2008 年 …

【Spring Cloud Alibaba】(二)微服务调用组件Feign原理+实战

系列目录 【Spring Cloud Alibaba】&#xff08;一&#xff09;微服务介绍 及 Nacos注册中心实战 本文目录系列目录前言什么是RPC&#xff1f;Feign和OpenFeign都是什么&#xff1f;HTTP调用 vs Feign(RPC)调用单独使用Feign实战Feign核心源码解读Feign整体设计架构Spring Clo…

学生为什么要在CSDN写博客?

学生为什么要在CSDN写博客&#xff1f;引言写博客的好处构建知识体系提升写作能力扩展人脉为简历加分帮助他人为什么是CSDN如何写博客记录学习总结错误总结与展望引言 就目前来说&#xff0c;学生应该是使用各种博客最多的人&#xff0c;但却不是写博客的主体。在我看来&#…

软考-软件设计师 知识点整理(一篇就过了 建议收藏)

文章目录一 计算机组成CPU寻址方式校验码奇偶校验码&#xff08;只能检一位错&#xff0c;并且不能纠错&#xff09;循环冗余校验码CRC&#xff08;只能检错&#xff0c;不能纠错&#xff09;海明码计算机体系结构分类Flynn分类法&#xff08;理论存在&#xff1a;多指令单数据…

我用Python写了一个下载网站所有内容的软件,可见即可下,室友表示非常好用

Python 写一个下载网站内容的GUI工具&#xff0c;所有内容都能下载&#xff0c;真的太方便了&#xff01;前言本次要实现的功能效果展示代码实战获取数据GUI部分最后前言 哈喽大家好&#xff0c;我是轻松。 今天我们分享一个用Python写下载视频弹幕评论的代码。 之前自游写了…

VMware17虚拟机:下载和安装教程

签名&#xff1a;但行好事&#xff0c;莫问前程。 文章目录前言一、VMware虚拟机是什么&#xff1f;二、如何下载VMware虚拟机&#xff1f;1.打开VMware官方网站2.找到VMware17下载地址三、安装VMware17虚拟机1.双击exe文件2.点击下一步3.勾选许可协议&#xff0c;点击下一步4.…

Java单元测试介绍

文章目录单元测试单元测试基本介绍单元测试快速入门单元测试常用注解单元测试 单元测试基本介绍 单元测试: 单元测试就是针对最小的功能单元编写测试代码&#xff0c;Java程序最小的功能单元是方法&#xff0c;因此&#xff0c;单元测试就是针对Java方法的测试&#xff0c;进…

Error: EPERM: operation not permitted, mkdir ‘D:\software\nodejs\node_cache\_cacach两种解决办法

目录 报错情况&#xff1a;operation not permitted, mkdir ‘D:\software\nodejs\node_cache\_cacach 解决办法&#xff1a; 第一种&#xff1a;选择管理员身份运行命令行 第二种&#xff1a;node安装目录下设置users用户完全控制权限 报错情况&#xff1a;operation not …

电子工程师必须掌握的硬件测试仪器,你确定你都掌握了?

目录示波器示例1&#xff1a;测量示波器自带的标准方波信号输出表笔认识屏幕刻度认识波形上下/左右移动上下/左右刻度参数调整通道1的功能界面捕获信号设置Menu菜单触发方式触发电平Cursor按钮捕捉波形HLEP按钮参考资料频谱分析仪器信号发生器示波器 示例1&#xff1a;测量示波…

Spring Cloud Alibaba 微服务2,注册中心演变 + Nacos注册中心与配置中心

目录专栏导读一、什么是Nacos&#xff1f;二、注册中心演变及其设计思想1、RestTemplate调用远程服务2、通过Nginx维护服务列表&#xff08;upStream&#xff09;3、通过Nacos实现注册中心4、心跳版Nacos三、Nacos Discovery四、Nacos核心功能1、服务注册2、服务心跳3、服务同步…

【Jetpack】Jetpack 简介 ( 官方架构设计标准 | Jetpack 组成套件 | Jetpack架构 | Jetpack 的存在意义 | AndroidX 与 Jetpack 的关系 )

文章目录一、Google 官方推出的架构设计标准 Jetpack二、Jetpack 组成套件三、Jetpack 架构四、Jetpack 的存在意义1、提高开发效率2、最佳架构方案3、消除样本代码4、设备系统兼容性5、改善应用性能6、测试支持五、AndroidX 与 Jetpack 的关系一、Google 官方推出的架构设计标…

Termux安装完整版Linux(Ubuntu)详细步骤

一、Termux 1.Termux简介 Termux是 Android 平台上的一个终端模拟器&#xff0c;之所以称它为“模拟器”而非“虚拟机”&#xff0c;是因为它并非像 PC 端的 VirtualBox 等虚拟机软件那样&#xff0c;在宿主机中虚拟出一个完全独立且完整的系统环境&#xff0c;而只是提供一个…

MyBatis案例 | 使用映射配置文件实现CRUD操作——动态SQL优化条件查询

本专栏主要是记录学习完JavaSE后学习JavaWeb部分的一些知识点总结以及遇到的一些问题等&#xff0c;如果刚开始学习Java的小伙伴可以点击下方连接查看专栏 本专栏地址&#xff1a;&#x1f525;JavaWeb Java入门篇&#xff1a; &#x1f525;Java基础学习篇 Java进阶学习篇&…

面试官:如何进行 JVM 调优(附真实案例)

前言 面试官&#xff1a;在工作中做过 JVM 调优吗&#xff1f;讲讲做过哪些 JVM 调优&#xff1f; 我一个QPS不到10的项目&#xff0c;上次问我缓存穿透缓存雪崩&#xff0c;这次问我 JVM 调优&#xff0c;我是真滴难。 不过大家别慌&#xff0c;热心的我给大家找来了几个满分…

一文学会IDEA中的Maven集成与创建(详细教程)

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

‘conda‘不是内部或外部命令,也不是可运行的程序或批处理文件。

Anaconda环境搭建常见问题 conda不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件。 解决方案&#xff1a;配置环境变量 1.找到Anaconda Nvaigator单机右键 2.更多 3.打开文件所在位置 4.继续Anaconda Nvaigator单机右键&#xff0c;更多&#xff0c;选择文件…

Xilinx XDMA驱动代码分析及用法

Xilinx XDMA驱动代码分析及用法 先简单的介绍一下&#xff0c;赛灵思的XDMA的驱动是用于做什么的、他的主要功能就类似与网卡pcie接口的网卡驱动、用于控制主机与fpga设备进行pcie的通讯。通讯的主要方式是设备文件的读写&#xff0c;这里不清楚的同学可以看一下我上一篇文章。…

IDEA连接MySQL数据库并执行SQL语句使用数据

文章目录一、IDEA连接MySQL数据库&#xff08;一&#xff09;首先新建普通Java项目&#xff08;二&#xff09;连接数据库1、点击右侧DataBase2、点击加号&#xff0c;找到MySQL&#xff0c;添加数据库3、输入用户名和密码&#xff0c;点击**Test Connection**4、显示连接成功&…