uniapp的基本使用(easycom规范和条件编译)和uview组件的安装和使用

news2024/12/24 11:25:11

文章目录

  • 1、uniapp
    • 1.uview组件安装
    • 2.uview-plus组件安装
  • 2、条件编译
  • 3、easycom规范
    • 1.组件路径符合规范
    • 2.自定义easycom配置的示例
  • 总结


1、uniapp

UniApp的UI组件库,如TMUI、uViewUI、FirstUI、TuniaoUI、ThorUI等,这些组件库适用于Vue3和TypeScript,支持跨平台开发,包括APP、小程序和H5。它们提供了丰富的组件和模板,旨在加速开发进程并提供流畅的用户体验。

  1. TMUI

    1. 优质Vue3 TS Pinia Vite跨端组件库,Uni App通用组件库跨端组件库,支持NVUE原生渲染,APP(安卓,IOS),微信小程序,H5,各家小程序;享受vue3的极速体验,享受TypeScript的强类型提示,性能强劲快速,vite编译速度极快;所有组件采用最新特性,性能翻倍。让uniapp在原生,小程序应用中流畅的运行,极致丝滑的体验
    2. tmui3.0 高性能、高颜值、多主题、暗黑模式vue3 ui组件库,没有比它更完美!
    3. 组件选项类别丰富,主要对标 vue3技术栈,UI视图风格新颖
    4. 插件地址:tmui3.2.0 vue3 typeScript nvue全平台ui组件库
  2. uview

    1. uView是遵循MIT (opens new window)开源协议开源的uni-app生态专用的UI框架,uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码, 可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台,2.0已全面兼容nvue.
    2. uview 生态完善,主要对标 vue2 技术栈
    3. uview-plus 特点 生态完善,主要对标 vue3 技术栈,为 uview 的升级版
      uview-plus,是全面兼容nvue的uni-app生态框架,全面的组件和便捷的工具,基于uView2.0初步修改,后续会陆续修复vue3兼容性,以及组合式API改造等。
  3. Taro

    Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发 微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ / 飞书 小程序 / H5 / RN 等应用。
    现如今市面上端的形态多种多样,Web、React Native、微信小程序等各种端大行其道。当业务要求同时在不同的端都要求有所表现的时候,针对不同的端去编写多套代码的成本显然非常高,这时候只编写一套代码就能够适配到多端的能力就显得极为需要。
    官网地址: Taro

  4. uni ui

    uni-ui就不用说了,是DCloud提供的一个跨端ui库,想必大家都用过,它是基于vue组件的、flex布局的、无dom的跨全端ui框架。
    官网地址

  5. ThorUI

    ThorUI 轻量、简洁、全面的移动端组件库。能大幅提升开发效率,包含uniapp与微信小程序原生版本组件库!
    目前uni版组件默认支持App端(IOS和Android)、H5、微信小程序、QQ小程序、支付宝小程序、百度小程序、头条小程序。
    官网插件链接

在这里插入图片描述

  1. Tuniao UI

    图鸟UI,是基于uni-app进行开发的UI框架,提供丰富的组件进行快速开发,已经支持APP、H5、微信小程序,包含常用表单组件、信息展示组件等,并提供丰富的酷炫页面模板。
    特性

    1. 包含基础常用的布局元素,flex、grid、浮动
    2. 完整一体的配色体系,包含 4 种色深模式,同时包含 4 套渐变配色
    3. 700+风格统一的图标 icon,60+精选组件,让开发者可以快速进行开发,icon 提供了单独的 npm 包,让开发者更加方便的更
    4. 新图鸟 UI 的 icon
    5. 酷炫常用的页面模板,更有让你眼前一亮的界面效果
    6. 图片素材语雀便捷下载,图鸟生态共同成长
      在这里插入图片描述
  2. FirstUI

    First UI 是一套基于uni-app开发的组件化、可复用、易扩展、低耦合的跨平台移动端UI 组件库。全面兼容App-Nvue、App-vue、小程序(微信、支付宝、百度、字节、QQ)、H5。UI 样式可配置,拓展灵活,轻松适应不同的设计风格,100+ 丰富的组件,能够满足移动端开发的基本需求,提供开箱即用的常用布局,极大程度节省开发成本
    特性

    1. UI 样式可配置,拓展灵活,轻松适应不同的设计风格
    2. 100+ 丰富的组件,能够满足移动端开发的基本需求
    3. 提供开箱即用的常用布局,极大程度节省开发成本
    4. 细致、漂亮的 UI
    5. 支持App-vue(Android、IOS)、App-Nvue(Android、IOS)、小程序、H5
    6. 支持在 vue2 或 vue3 下使用(支持在vue3组合式API下使用)。
      官网地址
      在这里插入图片描述
  3. Wot Design Uni

    wot-design-uni组件库基于vue3+Typescript构建,参照wot design的设计规范进行开发,提供70+高质量组件,支持暗黑模式、国际化和自定义主题,旨在给开发者提供统一的UI交互,同时提高研发的开发效率。
    特性

    1. 多平台覆盖,支持 微信小程序、支付宝小程序、钉钉小程序、H5、APP 等.
    2. 70+ 个高质量组件,覆盖移动端主流场景.
    3. 使用 Typescript 构建,提供良好的组件类型系统.
    4. 支持国际化,内置 15 种语言包.
    5. 提供丰富的文档和组件示例.
    6. 支持修改 CSS 变量实现主题定制.
    7. 支持暗黑模式
      在这里插入图片描述

1.uview组件安装

  1. uView依赖SCSS

    • 必须要安装此插件,否则无法正常运行。
    • 如果项目是由HBuilder X创建的,相信已经安装scss插件,如果没有,请在HX菜单的 工具->插件安装中找到"scss/sass编译"插件进行安装, 如不生效,重启HX即可
    • 如果您的项目是由vue-cli创建的,请通过以下命令安装对sass(scss)的支持,如果已安装,请略过。
    // 安装sass
    npm i sass -D
    
    // 安装sass-loader
    npm i sass-loader -D
    
  2. Hbuilder X方式
    在uni-app插件市场右上角选择uni_modules版本下的使用HBuilderX导入插件,导入到对应的项目中即可。
    下载地址

  3. NPM方式

    // 如果您的根目录没有package.json文件的话,请先执行如下命令:
    // npm init -y
    
    npm install uview-ui@2.0.38
    
    // 更新
    // npm update uview-ui
    

    在这里插入图片描述

  4. 配置步骤

    • 引入uView主JS库
      在项目src目录中的main.js中,引入并使用uView的JS库,注意这两行要放在import Vue之后。
      	// main.js
      	import uView from "uview-ui";
      	Vue.use(uView);
      
    • 在引入uView的全局SCSS主题文件
      在项目src目录的uni.scss中引入此文件。
      		/* uni.scss */
      		@import 'uview-ui/theme.scss';
      
    • 引入uView基础样式
      在App.vue中首行的位置引入,注意给style标签加入lang="scss"属性
      	<style lang="scss">
      		/* 注意要写在第一行,同时给style标签加入lang="scss"属性 */
      		@import "uview-ui/index.scss";
      	</style>
      
    • 配置easycom组件模式
      	// pages.json
      	{
      		"easycom": {
      			"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
      		},
      		
      		// 此为本身已有的内容
      		"pages": [
      			// ......
      		]
      	}
      
      • Cli模式额外配置
        如果您是vue-cli模式的项目,还需要在项目根目录的vue.config.js文件中进行如下配置:
      	// vue.config.js,如没有此文件则手动创建
      	module.exports = {
      	    transpileDependencies: ['uview-ui']
      	}
      

2.uview-plus组件安装

  1. uView依赖SCSS

    • 必须要安装此插件,否则无法正常运行。
    • 如果项目是由HBuilder X创建的,相信已经安装scss插件,如果没有,请在HX菜单的 工具->插件安装中找到"scss/sass编译"插件进行安装, 如不生效,重启HX即可
    • 如果您的项目是由vue-cli创建的,请通过以下命令安装对sass(scss)的支持,如果已安装,请略过。
    // 安装sass
    npm i sass -D
    
    // 安装sass-loader
    npm i sass-loader -D
    
  2. Hbuilder X方式
    在uni-app插件市场右上角选择uni_modules版本下的使用HBuilderX导入插件,导入到对应的项目中即可。
    下载地址:零云®uview-plus3.0重磅发布,全面的Vue3移动组件库。

  3. NPM方式

    // 如果您的根目录没有package.json文件的话,请先执行如下命令:
    // npm init -y
    npm install uview-plus
    npm install dayjs
    npm install clipboard
    

    在这里插入图片描述

  4. 配置步骤

    • 引入uView主JS库
      在项目src目录中的main.js中,引入并使用uView的JS库,注意这两行要放在import Vue之后。

      	// main.js
      	import uviewPlus from 'uview-plus'
      	
      	// #ifdef VUE3
      	import { createSSRApp } from 'vue'
      	export function createApp() {
      	  const app = createSSRApp(App)
      	  app.use(uviewPlus)
      	  return {
      	    app
      	  }
      	}
      	// #endif
      
    • 在引入uView的全局SCSS主题文件
      在项目src目录的uni.scss中引入此文件。

      		/* uni.scss */
      		@import 'uview-plus/theme.scss';
      
    • 引入uView基础样式
      在App.vue中首行的位置引入,注意给style标签加入lang="scss"属性

      	<style lang="scss">
      		/* 注意要写在第一行,同时给style标签加入lang="scss"属性 */
      		@import "uview-plus/index.scss";
      	</style>
      
    • 配置easycom组件模式

      	// pages.json
      		{
      			"easycom": {
      				"autoscan": true,
      				// 注意一定要放在custom里,否则无效,https://ask.dcloud.net.cn/question/131175
      				"custom": {
      					"^u--(.*)": "uview-plus/components/u-$1/u-$1.vue",
      					"^up-(.*)": "uview-plus/components/u-$1/u-$1.vue",
      			        "^u-([^-].*)": "uview-plus/components/u-$1/u-$1.vue"
      				}
      			},
      			
      			// 此为本身已有的内容
      			"pages": [
      				// ......
      			]
      		}
      
    • typescript支持
      在tsconfig.json中参考如下配置增加"uview-plus/types"

      {
      	"compilerOptions": {
          "sourceMap": true,
          "baseUrl": ".",
          "paths": {
            "@/*": ["./src/*"]
          },
          "lib": ["esnext", "dom"],
          "types": [
              "@dcloudio/types",
              "uview-plus/types"
          ]
        },
        "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
      }
      
      <template>
      	<view style="padding: 20px;">
      		 <!-- #ifdef VUE3 -->
      		 	<up-button type="primary" text="确定"></up-button>
      		 		<up-button type="primary" :plain="true" text="镂空"></up-button>
      		 		<up-button type="primary" :plain="true" :hairline="true" text="细边"></up-button>
      		 		<up-button type="primary" :disabled="disabled" text="禁用"></up-button>
      		 		<up-button type="primary" loading loadingText="加载中"></up-button>
      		 		<up-button type="primary" icon="map" text="图标按钮"></up-button>
      		 		<up-button type="primary" shape="circle" text="按钮形状"></up-button>
      		 		<up-button text="渐变色按钮" color="linear-gradient(to right, rgb(66, 83, 216), rgb(213, 51, 186))"></up-button>
      		 		<up-button type="primary" size="small" text="大小尺寸"></up-button>
      		  <!-- #endif -->
      	</view>
      </template>
      <script>
      export default {
      	data() {
      		return {
      			disabled: true
      		};
      	}
      };	
      </script>
      

      在这里插入图片描述

2、条件编译

条件编译是用特殊的注释作为标记,在编译时根据这些特殊的注释,将注释里面的代码编译到不同平台。

uni-app 已将常用的组件、API封装到框架中,开发者按照 uni-app 规范开发即可保证多平台兼容,大部分业务均可直接满足。
但每个平台有自己的一些特性,因此会存在一些无法跨平台的情况。

  • 大量写 if else,会造成代码执行性能低下和管理混乱。
  • 编译到不同的工程后二次修改,会让后续升级变的很麻烦。
  • 为每个平台重写,明明主业务逻辑又一样
  1. 使用方法
    #ifdef 或 #ifndef 加 %PLATFORM% 开头,以 #endif 结尾。
    • #ifdef:if defined 仅在某平台存在
    • #ifndef:if not defined 除了某平台均存在
    • %PLATFORM%:平台名称
条件编译写法说明
#ifdef APP-PLUS需条件编译的代码#endif 仅出现在 App 平台下的代码
#ifndef H5需条件编译的代码#endif 除了 H5 平台,其它平台均存在的代码(注意if后面有个n)
#ifdef H5 或 MP-WEIXIN需条件编译的代码#endif 在 H5 平台或微信小程序平台存在的代码(这里只有或,不可能出现&&,因为没有交集

%PLATFORM%取值

生效条件版本支持
VUE3uni-app js引擎版用于区分vue2和3HBuilderX 3.2.0+
VUE2uni-app js引擎版用于区分vue2和3
UNI-APP-X用于区分是否是uni-app x项目HBuilderX 3.9.0+
uniVersion用于区分编译器的版本HBuilderX 3.9.0+
APPApp
APP-PLUSuni-app js引擎版编译为App时
APP-PLUS-NVUE或APP-NVUEApp nvue 页面
APP-ANDROIDApp Android 平台
APP-IOSApp iOS 平台
APP-HARMONYApp HarmonyOS Next 平台
H5H5(推荐使用 WEB)
WEBweb(同H5)HBuilderX 3.6.3+
MP-WEIXIN微信小程序
MP-ALIPAY支付宝小程序
MP-BAIDU百度小程序
MP-TOUTIAO抖音小程序
MP-LARK飞书小程序
MP-QQQQ小程序
MP-KUAISHOU快手小程序
MP-JD京东小程序
MP-360360小程序
MP微信小程序/支付宝小程序/百度小程序/抖音小程序/飞书小程序/QQ小程序/360小程序
QUICKAPP-WEBVIEW快应用通用(包含联盟、华为)
QUICKAPP-WEBVIEW-UNION快应用联盟
QUICKAPP-WEBVIEW-HUAWEI快应用华为

支持的文件:

  • .vue/.nvue/.uvue
  • .js/.uts
  • .css
  • pages.json
  • 各预编译语言文件,如:.scss、.less、.stylus、.ts、.pug
    注意
  1. 条件编译是利用注释实现的,在不同语法里注释写法不一样,js/uts使用 // 注释、css 使用 /* 注释 */、vue/nvue/uvue 模板里使用 ;
  2. 条件编译APP-PLUS包含APP-NVUE和APP-VUE,APP-PLUS-NVUE和APP-NVUE没什么区别,为了简写后面出了APP-NVUE ;
  3. 对于未定义平台名称,可能是名称写错了,也可能是低版本HBuilderX还不认识这个平台。此时的条件编译,#ifdef 中的代码不会生效,而 #ifndef 中的代码会生效;
  4. 使用条件编译请保证编译前和编译后文件的语法正确性,即要保障无论条件编译是否生效都能通过语法校验。比如:json文件中不能有多余的逗号,js中不能重复导入;
// #ifdef MP-WEIXIN
import a as aWx from 'a/wx'
// #endif
// #ifndef MP-WEIXIN
import a as aIndex from 'a/index'
// #endif
var a
// #ifdef MP-WEIXIN
a = aWx
// #endif
// #ifndef MP-WEIXIN
a = aIndex
// #endif

3、easycom规范

传统vue组件,需要安装、引用、注册,三个步骤后才能使用组件。easycom将其精简为一步。
只要组件路径符合规范(具体见下),就可以不用引用、注册,直接在页面中使用

1.组件路径符合规范

  1. 安装在项目根目录的components目录下,并符合components/组件名称/组件名称.vue

  2. 安装在uni_modules下,路径为uni_modules/插件ID/components/组件名称/组件名称.vue

    ┌─components
    │ └─comp-a
    │ └─comp-a.vue 符合easycom规范的组件
    └─uni_modules uni_module中符合easycom规范的组件
    └─uni_modules
    └─uni-list
    └─components
    └─uni-list
    └─ uni-list.vue

    不管components目录下安装了多少组件,easycom打包会自动剔除没有使用的组件,对组件库的使用尤为友好。
    组件库批量安装,随意使用,自动按需打包。

2.自定义easycom配置的示例

easycom是自动开启的,不需要手动开启,有需求时可以在pages.json的easycom节点进行个性化设置,如关闭自动扫描,或自定义扫描匹配组件的策略。

  1. easycom方式引入的组件无需在页面内import,也不需要在components内声明,即可在任意页面使用。
  2. easycom方式引入组件不是全局引入,而是局部引入。例如在H5端只有加载相应页面才会加载使用的组件。
  3. 在组件名完全一致的情况下,easycom引入的优先级低于手动引入(区分连字符形式与驼峰形式)。
  4. 考虑到编译速度,直接在pages.json内修改easycom不会触发重新编译,需要改动页面内容触发。
  5. easycom只处理vue组件,不处理小程序专用组件(如微信的wxml格式组件)。不处理后缀为.nvue的组件。因为nvue页面引入的组件也是.vue组件。可以参考uni ui,使用vue后缀,同时兼容nvue页面。
  6. nvue页面里引用.vue后缀的组件,会按照nvue方式使用原生渲染,其中不支持的css会被忽略掉。这种情况同样支持easycom。
  7. vue 与 uvue 组件优先级
属性类型默认值描述
autoscanBooleantrue是否开启自动扫描,开启后将会自动扫描符合components/组件名称/组件名称.vue目录结构的组件
customObject-以正则方式自定义组件匹配规则。如果autoscan不能满足需求,可以使用custom自定义匹配规则

如果组件,不符合easycom前述的路径规范。可以在pages.json的easycom节点中自行定义路径规范。
如果需要匹配node_modules内的vue文件,需要使用packageName/path/to/vue-file-$1.vue形式的匹配规则,其中packageName为安装的包名,/path/to/vue-file-$1.vue为vue文件在包内的路径。

"easycom": {
  "autoscan": true,
  "custom": {
    "^uni-(.*)": "@/components/uni-$1.vue", // 匹配components目录内的vue文件
    "^vue-file-(.*)": "packageName/path/to/vue-file-$1.vue" // 匹配node_modules内的vue文件
  }
}

总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

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

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

相关文章

深入探索GDB调试技巧及其底层实现原理

本文分为两个大模块&#xff0c;第一部分记录下本人常用到的GDB的调试方法和技巧&#xff0c;第二部分则尝试分析GDB调试的底层原理。 一、GDB调试 要让程序能被调试&#xff0c;首先得编译成debug版本&#xff0c;当然release版本的也能通过导入符号表来实现调试&#xff0c…

Kubernetes的基本概念

Kubernetes是谷歌以Borg为前身,基于谷歌15年生产环境经验的基础上开源的一个项目,Kubernetes致力于提供跨主机集群的自动部署、扩展、高可用以及运行应用程序容器的平台。 一、资源对象概述 Kubernetes中的基本概念和术语大多是围绕资源对象(Resource Object)来说的,而资…

JavaWeb后端开发案例——苍穹外卖day01

day1遇到问题&#xff1a; 1.前端界面打不开&#xff0c;把nginx.conf文件中localhost:80改成81即可 2.前后端联调时&#xff0c;前端登录没反应&#xff0c;application.yml中默认用的8080端口被占用&#xff0c;就改用了8081端口&#xff0c;修改的时候需要改两个地方&…

(一)<江科大STM32>——软件环境搭建+新建工程步骤

一、软件环境搭建 &#xff08;1&#xff09;安装 Keil5 MDK 文件路径&#xff1a;江科大stm32入门教程资料/Keil5 MDK/MDK524a.EXE&#xff0c;安装即可&#xff0c;路径不能有中文。 &#xff08;2&#xff09;安装器件支持包 文件路径&#xff1a;江科大stm32入门教程资料…

软件开发的各类模型

目录 软件的生命周期 常见开发模型 瀑布模型 螺旋模型 增量模型、迭代模型 敏捷模型 Scrum模型 常见测试模型 V模型 W模型&#xff08;双V模型&#xff09; 软件的生命周期 软件的生命周期包括需求分析&#xff0c;计划&#xff0c;设计&#xff0c;编码&#xff0c;…

ElasticSearch学习笔记一:简单使用

一、前言 该系列的文章用于记录本人从0学习ES的过程&#xff0c;首先会对基本的使用进行讲解。本文默认已经安装了ES单机版本&#xff08;当然后续也会有对应的笔记&#xff09;&#xff0c;且对ES已经有了相对的了解&#xff0c;闲话少叙&#xff0c;书开正文。 二、ES简介 …

C++笔记---异常

1. 异常的概念 1.1 异常和错误 异常通常是指在程序运行中动态出现的非正常情况&#xff0c;这些情况往往是可以预见并可以在不停止程序的情况下动态地进行处理的。 错误通常是指那些会导致程序终止的&#xff0c;无法动态处理的非正常情况。例如&#xff0c;越界访问、栈溢出…

python opencv3

三、图像预处理2 1、图像滤波 为图像滤波通过滤波器得到另一个图像。也就是加深图像之间的间隙&#xff0c;增强视觉效果&#xff1b;也可以模糊化间隙&#xff0c;造成图像的噪点被抹平。 2、卷积核 在深度学习中&#xff0c;卷积核越大&#xff0c;看到的信息越多&#xff0…

ENSP作业——小型园区网

题目 根据上图&#xff0c;可得需求为&#xff1a; 1.配置交换机上的VLAN及IP地址。 2.设置SW1为VLAN 2/3的主根桥&#xff0c;设置SW2为VLAN 20/30的主根桥&#xff0c;且两台交换机互为主备。 3.可以使用super vlan。&#xff08;本次实验中未使用&#xff09; 4.上层通过静…

解决 Vue3、Vite 和 TypeScript 开发环境下跨域的问题,实现前后端数据传递

引言 本文介绍如何在开发环境下解决 Vite 前端&#xff08;端口 3000&#xff09;和后端&#xff08;端口 80&#xff09;之间的跨域问题&#xff1a; 在开发环境中&#xff0c;前端使用的 Vite 端口与后端端口不一致&#xff0c;会产生跨域错误提示&#xff1a; Access to X…

Windows系统中Oracle VM VirtualBox的安装

一.背景 公司安排了师带徒&#xff0c;环境搭建问题一直是初级程序员头疼的事情&#xff0c;我记录一下这些基础的内容&#xff0c;方便初学者。大部分开发者的机器还是windows系统&#xff0c;所以写了怎么安装。 二.版本信息及 操作系统&#xff1a;windows11 家庭版…

uniapp 集成 uview

注意&#xff1a;HBuildX新建项目时必须选择vue2版本&#xff0c;vue3会不支持uview 下载安装方式&#xff1a; uview安装网站&#xff1a;uView2.0重磅发布&#xff0c;利剑出鞘&#xff0c;一统江湖 - DCloud 插件市场 配置&#xff1a; 1.安装sass插件 // 安装sass npm i …

24.11.12 JavaScript2

prompt() confirm() 这些函数 会阻止js解析器(js解析器执行引擎 读取运行js) 执行 不要使用 2history对象 历史记录对象 对应浏览器前进后退按钮 history 在历史记录里 back 前进 forward 后退go 0当前文档 负数 后退n个文档 正数 前进n个文档<!…

STM32cubemx+Proteus仿真和keil5联合调试

前面两步 STM32cubemx生成代码 https://blog.csdn.net/weixin_52733843/article/details/143637304 Proteus新建工程 https://blog.csdn.net/weixin_52733843/article/details/143578853 1 *Proteus仿真联合调试* 在Proteus中&#xff0c;双击STM32F103C6芯片&#xff0c…

信号的解析

信号 1.概念2.接口3.信号产生的过程1.信号的产生1.1信号的产生方式 2.信号的处理3.信号的保存阻塞信号 4.信号集操作函数 1.概念 信号量&#xff08;Semaphore&#xff09;是一个用于多线程或多进程同步的变量。它是操作系统提供的一种同步机制&#xff0c;用于控制多个线程或…

linux-c 使用c语言操作sqlite3数据库-1

一、练习目标 1、目标 1、使用sqlite3_exec执行查询语句&#xff0c;并将查询结果insert到链表中&#xff0c;最后打印链表的内容&#xff1b; 2、使用sqlite3_get_table执行查询语句&#xff0c;并以key&#xff1a;value的方式&#xff0c;打印查询结果。 2、环境准备 2.1、…

软件需求规格书评审报告,系统需求设计申评审,代码和测试过程评审报告,软件各类资质评审资料(word原件)

1.需求规格说明评审报告 2.系统设计评审报告 3.编码与测试评审报告 软件全套资料部分文档清单&#xff1a; 工作安排任务书&#xff0c;可行性分析报告&#xff0c;立项申请审批表&#xff0c;产品需求规格说明书&#xff0c;需求调研计划&#xff0c;用户需求调查单&#xff0…

flink sql同步mysql数据表到mysql

1. 关闭防火墙和selinux systemctl stop firewalld systemctl disable firewalld systemctl status firewalld2.安装java8 yum list java-1.8* yum install java-1.8.0-openjdk* -yjava -version3.下载和部署mysql yum -y install wget wget https://dev.mysql.com/get/Down…

【分布式事务】二、NET8分布式事务实践: DotNetCore.CAP 框架 、 消息队列(RabbitMQ)、 多类型数据库(MySql、MongoDB)

介绍 DotNetCore.CAP简称CAP, [CAP]是一个用来解决微服务或者分布式系统中分布式事务问题的一个开源项目解决方案, 同样可以用来作为 EventBus 使用,CAP 拥有自己的特色,它不要求使用者发送消息或者处理消息的时候实现或者继承任何接口,拥有非常高的灵活性。我们一直坚信…

vue3项目中内嵌vuepress工程两种实现方式

目录 一、示例二、创建vuepress工程三、配置vue项目的打包命令四、 通过iframe嵌套实现过程五、 将vue项目打包&#xff0c;启本地服务运行index.html 一、示例 vue项目&#xff0c;点击用户手册按钮&#xff0c;通过a标签跳转到vuepress框架搭建的页面。点击后者通过路由跳转…