当前位置: 首页 > news >正文

Vue 原理详解

Vue 原理详解

Vue.js 是一个渐进式框架,它通过数据驱动视图更新和响应式编程使得前端开发变得更加简单高效。在 Vue 的内部实现中,编译过程和响应式机制是两个至关重要的组成部分。本文将详细介绍 Vue.js 的编译器、响应式系统和运行时的工作原理,帮助你更好地理解 Vue 背后的实现。

Compiler 编译器

Vue 的编译器负责将模板(<template>)转换为渲染函数,并且优化模板以提高性能。编译器是 Vue 中非常核心的部分,包含了多个步骤。

template 模板解析

Vue.js 的模板解析过程首先将模板转化为抽象语法树(AST),然后根据 AST 编译出渲染函数。

1. 模板解析过程

Vue 使用一个自定义的 HTML 解析器来将模板字符串转换为抽象语法树(AST)。这一过程会分析模板中的 HTML 标签、指令、事件和表达式。模板解析的步骤如下:

  1. 标记解析:Vue 会解析模板中的所有 HTML 标签、属性、事件绑定、指令等,构建一个表示 HTML 结构的 AST。
  2. 指令解析:Vue 会识别并解析模板中的指令(如 v-bindv-modelv-if 等),并将其转换成 AST 中的特定节点。
  3. 事件绑定解析:对于模板中的事件绑定(如 @click),Vue 会将其转换为相应的事件处理节点。
2. 抽象语法树(AST)

AST 是 Vue 用来表示模板结构的数据结构。它抽象了模板中的元素,并用树形结构来表达元素之间的关系。AST 节点可以表示标签、指令、文本等。

3. 静态优化

在编译过程中,Vue 会对静态内容进行优化。例如,如果某个部分是静态的(不会随着数据变化而改变),Vue 会标记这些部分为静态节点。这样在更新视图时,就可以跳过这些静态部分,从而提高渲染效率。

style 样式解析

Vue 组件的 <style> 标签包含了样式部分。在 Vue 编译过程中,<style> 标签的内容会被处理为全局样式或作用域样式。Vue 提供了 scoped 特性来为组件内的样式添加作用域,避免样式冲突。

1. 全局样式 vs 作用域样式
  • 全局样式:如果组件中没有添加 scoped,则该样式会作为全局样式生效。
  • 作用域样式:当使用 scoped 时,Vue 会为该组件的样式添加独特的类名,使得这些样式仅作用于该组件内部的元素。
2. 样式作用域的实现

Vue 使用一个构建工具(如 Vue CLI 或 Vite)来处理作用域样式。通过给每个组件的根元素添加唯一的属性(如 data-v-xxxx),并将样式的选择器做相应的修改,确保样式只作用于当前组件的元素。

3. CSS 预处理

Vue 还支持 CSS 预处理器,如 Sass、Less 等。如果 <style> 标签的 lang 属性指定了某个预处理器(如 lang="scss"),Vue 会使用相应的预处理器来编译样式代码。

script 脚本解析

Vue 单文件组件中的 <script> 标签用于定义组件的 JavaScript 逻辑。Vue 编译器会解析 <script> 部分,提取并生成对应的 JavaScript 代码。

1. 组件选项对象

Vue 会从 <script> 中提取出组件的选项对象,常见的选项包括:

  • data:组件的数据。
  • methods:组件的方法。
  • computed:计算属性。
  • props:传递给组件的属性。
  • 生命周期钩子:如 createdmountedupdated 等。
2. ES6 模块化

Vue 单文件组件支持 ES6 模块化,可以使用 importexport 来导入和导出模块。Vue 会解析 <script> 中的 import 语句,自动引入依赖的模块,并在构建时进行打包。

3. TypeScript 支持

Vue 还支持在 <script> 标签中使用 TypeScript。通过 lang="ts" 属性,Vue 会解析 TypeScript 代码,并使用相应的工具(如 ts-loaderbabel)将 TypeScript 转换为 JavaScript。

Reactivity 响应式

Vue 的响应式系统是 Vue.js 的核心之一,负责自动跟踪组件的数据变化并更新视图。

Proxy

Vue 3 使用 Proxy 来实现响应式。Proxy 是 JavaScript 中的一个新特性,它允许你通过代理对象来定义对象属性的行为。Vue 使用 Proxy 来拦截对象的读取和修改操作,从而实现响应式数据的追踪。

1. 数据代理

通过 Proxy,Vue 可以拦截对数据的读取、修改等操作,并在数据变化时自动更新视图。

const state = new Proxy({}, {get(target, key) {// track data accessconsole.log(`Getting ${key}`);return target[key];},set(target, key, value) {// trigger update when data changesconsole.log(`Setting ${key} to ${value}`);target[key] = value;return true;}
});

Reflect

Reflect 是 JavaScript 中的另一个新特性,它是对 Proxy 操作的底层处理的封装。Vue 在使用 Proxy 时,会结合 Reflect 来执行对象的默认行为。例如,使用 Reflect 来读取或修改对象的属性时,Proxy 会通过 Reflect 调用原对象的操作,从而确保对象操作的正确性。

track、trigger

  • track:当组件的模板中访问了某个响应式数据时,Vue 会通过 track 函数将该数据与视图关联。track 会记录哪些组件依赖于哪些响应式数据。
  • trigger:当响应式数据发生变化时,Vue 会通过 trigger 函数触发视图更新。trigger 会通知所有依赖该数据的组件重新渲染。

Runtime 运行时

Vue 的运行时部分负责将模板编译成渲染函数并执行这些渲染函数来更新视图。

指令的处理

Vue 使用指令(如 v-ifv-forv-bind 等)来操作 DOM。当 Vue 在渲染过程中遇到指令时,会根据指令的类型执行相应的操作。

1. 指令的生命周期

Vue 会在不同的阶段执行指令的钩子函数,包括:

  • bind:指令与元素绑定时调用。
  • inserted:元素被插入到 DOM 中时调用。
  • update:数据更新时调用。
  • unbind:指令与元素解绑时调用。

DOM 渲染

在 Vue 中,DOM 渲染分为以下几个步骤:

  1. 初始渲染:Vue 会通过渲染函数(由模板编译而来)生成虚拟 DOM,并将其映射到实际的 DOM 元素上。
  2. 数据变化:当数据发生变化时,Vue 会通过虚拟 DOM 比对(即 DOM diff 算法)计算出哪些部分需要更新,然后更新实际 DOM。

总结

Vue.js 的工作原理分为多个部分,其中编译器、响应式系统和运行时是最核心的组成部分。通过编译器,Vue 将模板解析为渲染函数,并优化静态内容;通过响应式系统,Vue 能够高效地追踪数据变化,并在变化时更新视图;而在运行时,Vue 会处理 DOM 渲染和指令执行,使得组件能够根据数据自动更新。

相关文章:

Vue 原理详解

Vue 原理详解 Vue.js 是一个渐进式框架&#xff0c;它通过数据驱动视图更新和响应式编程使得前端开发变得更加简单高效。在 Vue 的内部实现中&#xff0c;编译过程和响应式机制是两个至关重要的组成部分。本文将详细介绍 Vue.js 的编译器、响应式系统和运行时的工作原理&#…...

w064基于springboot的高校学科竞赛平台

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0…...

vue实现弹窗输入验证码

实现思路&#xff1a;前端输入完账号和密码&#xff0c;点击登录按钮的时候&#xff0c;弹出一个输入验证码的窗口&#xff0c;后端把验证码图片通过base64的字符传给前端&#xff0c;前端把字符当成图片展示出来。输入完验证码&#xff0c;点击确认进行登录&#xff0c;把验证…...

maven,java相关调试等

maven 增加调试信息的命令&#xff1a; mvn clean compile -Xmvn -X clean installmvn -e exec:execmodule jdk.compiler does not “opens com.sun.tools.java c.processing” 报错是因为用了JDK17&#xff0c;而老版本的1.18.4不支持。将lombok升级到1.18.32问题解决。 报错…...

ARP欺骗-断网攻击

ARP协议 arp协议(地址解析) &#xff0c;在局域网中传输的是帧&#xff0c;帧里面有目标主机的MAC地址&#xff0c;其中一台电脑和另一台电脑需要知道对面的ip地址所对应的MAC地址 ARP欺骗的原理 把自己的MAC地址伪造成网段来欺骗其他用户 实验环境 kali:192.168.21.128 win…...

鬼谷子的捭阖之道

捭&#xff08;bai&#xff09;是打开&#xff0c;开口说的意思&#xff0c;代表阴阳中的阳面 阖&#xff08;he&#xff09;是关闭&#xff0c;是闭嘴、观察&#xff0c;代表阴阳中的阴面 捭阖就是通过话术来试探对方的实情&#xff0c;用谋略让对方信服&#xff0c;从而推动…...

mysql之找回忘记的root密码

mysql之找回忘记的root密码 1.方法1&#xff0c;init-file重置密码2.方法2&#xff0c;–skip-grant-tables重置密码 1.方法1&#xff0c;init-file重置密码 使用init-file参数来对密码进行重新设置 1.停止mysql服务进程 首先将mysql的服务停用掉&#xff1b; 输入命令&#x…...

IDEA中Maven相关使用

一、Maven 的配置文件与本地仓库 Maven 是一种基于配置的工具&#xff0c;主要通过 配置文件 和 本地仓库 管理项目构建与依赖。 1. Maven 配置文件的层级 Maven 的配置文件分为两个层级&#xff1a;全局配置 和 用户配置。 &#xff08;1&#xff09;全局配置 位置&#…...

C语言基础数据类型

C语言------基础数据类型 思考、实践、总结、交流&#xff0c;八字真言是学习任何一门知识的内功&#xff0c;尤其是在很方便用鸡皮提的时代中&#xff0c;独立思考是很重要的。 一个 C 语言工程由多个.c(源码文件) .h&#xff08;头文件&#xff09;组成。.c 文件是实现逻辑的…...

excel中字符数字转换为数值类型:NUMBERVALUE()函数

excel中字符数字转换为数值类型&#xff1a;NUMBERVALUE()函数 例子&#xff1a; 假如这个文档被设置为文档类型&#xff1a;可以通过这个函数进行转换 有时候这个函数不起作用&#xff1a;可以试试对目标列的第一个字符数字进行设置单元单元格-设置为数值型 然后对第一个字…...

【LeetCode刷题之路】283:移动零的普通解法与优化解法(含动图演示)

LeetCode刷题记录 &#x1f310; 我的博客主页&#xff1a;iiiiiankor&#x1f3af; 如果你觉得我的内容对你有帮助&#xff0c;不妨点个赞&#x1f44d;、留个评论✍&#xff0c;或者收藏⭐&#xff0c;让我们一起进步&#xff01;&#x1f4dd; 专栏系列&#xff1a;LeetCode…...

AtomicIntegerFieldUpdater能否降低内存

1. 代码如下&#xff1a; import java.util.LinkedList; import java.util.List; import java.util.concurrent.atomic.AtomicInteger;public class AtomicIntegerTest {final AtomicInteger startPosition new AtomicInteger(0);final AtomicInteger wrotePosition new Atom…...

一个实用的 Maven localRepository 工具

目录 1 现状2 当前解决3 更好的解决3.1 下载 Maven localRepository 工具包3.2 上传本地 localRepository 包3.3 清理 localRepository 中指定后缀的文件 1 现状 在使用 Maven 时&#xff0c;我们可能会经常与本地仓库和私服仓库打交道。 例如对于本地仓库&#xff0c;因为某…...

【算法day4】链表:应用拓展与快慢指针

题目引用 两两交换链表节点删除链表的倒数第n个节点链表相交环形链表 1.两两交换链表节点 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&am…...

拉格朗日乘子法和罚函数法

求目标函数 f ( x , y ) x 2 y 2 f(x, y) x^2 y^2 f(x,y)x2y2 的极值 约束条件为&#xff1a; g ( x , y ) x y − 1 0 g(x, y) x y - 1 0 g(x,y)xy−10 直接求解 消去变量由约束条件 x y − 1 0 x y - 1 0 xy−10&#xff0c;可得 y 1 − x y 1 - x y1−…...

关于创建新登录用户使用SQL Server验证登录时报错全过程解决方法(错误: 18456,不包含网络连接,此教程为本地单机连接)

想必大家在创建新登录用户时会遇到一些问题例如: 但是账号密码都已经反复确认过没错了 之前我在很多博文看到的解决方法都不能正确解决这个问题&#xff0c;接下来我就来解决下这个问题 1.首先创建一个新的登录用户 下面配置是这样子的&#xff1a; 登录名test login 密码12…...

前端通用Axios 请求拦截配置

前端通用Axios 请求拦截配置 配置 目录在request或者plugins都可以&#xff0c;看自己习惯 文件名ReqAxios.js/ReqAxios.ts import axios from "axios"; //消息提示 import { message } from "ant-design-vue"; import Vue from vueconst reqAxios ax…...

docker搭建socks5代理

准备工作 VPS安全组/策略放行相应端口如启用了防火墙&#xff0c;放行相应端口 实际操作 我们选用“历史悠久”的Dante socks5 代理服务器&#xff0c;轻量、稳定。Github也有对dante进行进一步精简的镜像&#xff0c;更为适宜。github项目地址如下&#xff1a; https://gi…...

抓包之wireshark基础用法介绍

写在前面 wireshark作为最优秀的抓包工具&#xff0c;有必要详细的看下其基本用法&#xff0c;所以本文就一起来做这件事吧&#xff01; 1&#xff1a;初步介绍 打开wireshark首先会进入如下的界面&#xff1a; 想要开始抓包&#xff0c;需要进行如下操作&#xff1a; 接着…...

JVM的生命周期

目录 引言1. 虚拟机的启动1.1 引导类加载器1.2 初始化步骤 2. 虚拟机的执行2.1 主要任务2.2 运行时数据区2.3 垃圾收集2.3.1 标记-清除算法2.3.2 复制算法2.3.3 标记-整理算法2.3.4 分代收集 3. 虚拟机的退出3.1 正常退出3.2 异常退出3.3 其他退出方式3.4 关闭钩子 4. 结论 引言…...

【第三讲】Spring Boot 3.4.0 新特性详解:增强的配置属性支持

Spring Boot 3.4.0 版本在配置属性的支持上进行了显著增强&#xff0c;使得开发者能够更灵活地管理和使用应用程序的配置。新的特性包括对配置属性的改进、类型安全增强、以及对环境变量的更好支持。这些改进旨在提升开发效率和代码可读性&#xff0c;同时简化配置过程。本文将…...

搭建环境-PHP简介及环境搭建教程

搭建环境-PHP简介及环境搭建教程 前言 在现代Web开发中,PHP是一种广泛使用的服务器端脚本语言,它以简洁、高效和跨平台的特性受到开发者的青睐。无论是小型网站还是大型企业应用,PHP都能提供强大的支持。本文将为您详细介绍PHP的基本概念、特点,以及如何搭建PHP开发环境。…...

linux模拟HID USB设备及wireshark USB抓包配置

文章目录 1. 内核配置2. 设备配置附 wireshark USB抓包配置 linux下模拟USB HID设备的简单记录&#xff0c;其他USB设备类似。 1. 内核配置 内核启用USB Gadget&#xff0c;使用fs配置usb device信息。 Device Drivers ---> [*] USB support ---><*> USB …...

微前端架构 qiankun

背景&#xff1a;随着业务功能的扩展&#xff0c;原有开发模式已无法满足需求。上线后出现问题时&#xff0c;排查过程变得异常复杂&#xff0c;新开发人员也难以迅速理解现有代码。同时&#xff0c;系统间界面风格和交互差异较大&#xff0c;导致跨系统办理业务时工作量增加。…...

RAT:融合RAG和CoT的高效多步推理任务策略

今天分享的是由北京大学、加州大学洛杉矶分校和北京通用人工智能研究院合作发表的一篇文章 论文题目:RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Horizon Generation 论文链接:https://arxiv.org/pdf/2403.05313 代码地址:https://githu…...

C++之虚基类

虚基类&#xff08;Virtual Base Class&#xff09;是 C 中的一个特性&#xff0c;用于解决菱形继承问题&#xff0c;避免因为多重继承而导致的重复继承和冗余问题。 菱形继承问题 假设有如下的类结构&#xff1a; 一个基类 Base。两个类 Derived1 和 Derived2 继承自 Base。…...

大小写转换

描述 将下面的字符串中的大小写进行转换。 输入描述 输入一行仅包含字母的字符串(字符串长度 ≤100)。 输出描述 将其中的大写转换为小写&#xff0c;小写转换为大写。 abcD ABCd #include<iostream> #include<string> using namespace std; int main() { …...

Flink 热存储维表 使用 Guava Cache 减轻访问压力

目录 背景 Guava Cache 简介 实现方案 1. 项目依赖 2. Guava Cache 集成到 Flink (1) 定义 Cache (2) 使用 Cache 优化维表查询 3. 应用运行效果 (1) 维表查询逻辑优化 (2) 减少存储压力 Guava Cache 配置优化 总结 背景 在实时计算场景中&#xff0c;Flink 应用中…...

09.ES13 10.ES14

9.1、class扩展 9.1.1、类成员声明 在ES13之前&#xff0c;我们只能在构造函数里面声明类的成员&#xff0c;而不能像其他大多数语言一样在类的最外层作用域里面声明成员。不过ES13出来之后&#xff0c;这都不算什么事儿了。现在我们终于可以突破这个限制&#xff0c;写下面这…...

Day 30 贪心算法 part04

今天的三道题目,都算是 重叠区间 问题,大家可以好好感受一下。 都属于那种看起来好复杂,但一看贪心解法,惊呼:这么巧妙! 这种题还是属于那种,做过了也就会了,没做过就很难想出来。 不过大家把如下三题做了之后, 重叠区间 基本上差不多了 452. 用最少数量的箭引爆气球…...

ProtonBase 教育行业解决方案

01/方案概述 当前&#xff0c;大数据、云计算等技术正加速教育行业的数字化转型&#xff0c;教学模式从线下转向线上&#xff0c;传统教育企业向具有互联网性质的新型教育企业转变。在此背景下&#xff0c;教育企业亟需探索多源数据的融合扩展&#xff0c;以应对复杂的业务场景…...

mimic插件使用

最近搞机械臂的末端夹具&#xff0c;本来想用吸盘的插件的&#xff0c;不知道为什么吸盘吸不起来可乐瓶&#xff0c;后面就换成夹爪了。 因为原厂的urdf文件中提供夹爪是用mimic标签控制剩下的5个joint关节的&#xff0c;网上参考的资料太少了&#xff0c;也是废了好多力 气&am…...

Docker+Jenkinsg+Springboot流水式构建-实用篇

最近无聊想自己玩一玩devpos&#xff0c;方便以后接私活&#xff0c;或者学习&#xff0c;O(∩_∩)O&#xff0c; 以后直接安装这篇文档&#xff0c;傻瓜式安装&#xff0c;哈哈 废话不多说&#xff0c;直接进入实战&#xff0c;完成简单的搭建 1.初始化CentOS环境 1.1 关闭防…...

华为小米苹果三星移动设备访问windows共享文件夹windows11

如果移动设备和windows电脑都在同一个局域网内&#xff0c;可以用移动设备访问windows11的共享文件夹 1、设置共享文件夹 2、添加everyone用户即可 3、查看ip地址 4、在华为手机上点击文件管理&#xff0c;里面有个网上邻居 5、正常情况下&#xff0c;华为手机会扫描到同一局域…...

程序执行堆栈执行模拟

所有的文件都是在硬盘&#xff08;磁盘&#xff09;上&#xff0c;调用时先调用javac指令的jdk编译成.class然后被java指令的jre送到内存中&#xff0c;java在内存中有自己的一片区域叫JVM&#xff0c;编译进来的文件首先进入方法区。 staitc的属性就是在进入内存的时候开辟了一…...

【AIGC】ChatGPT提示词Prompt助力高效文献处理、公文撰写、会议纪要与视频总结

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | 提示词Prompt应用实例 文章目录 &#x1f4af;前言&#x1f4af;高效英文文献阅读提示词使用方法 &#x1f4af;高效公文写作提示词使用方法 &#x1f4af;高效会议纪要提示词使用方法 &#x1f4af;高效视频内…...

电脑文件自动提取器介绍

1. 背景 电脑文件自动提取器是基于元神操作系统开发的一款应用级产品&#xff0c;其初衷是应对当下Windows系统频繁强制升级导致的系统崩溃问题&#xff0c;使得即使电脑系统瘫痪也能轻易提取硬盘中的文件&#xff0c;以免耽误工作和学习等。 2. 介绍 &#xff08;1&#xf…...

Git命令大全(超详细)

Git 是一个分布式版本控制系统&#xff0c;用于跟踪计算机文件的更改&#xff0c;并协调多个用户之间的工作。下面是一份较为详细的 Git 命令大全&#xff0c;涵盖了从初始化仓库到日常使用中常见的操作。 1. 初始化与配置 设置用户信息: git config --global user.name &quo…...

Vue 3 中实现页面特定功能控制

在开发 Vue 应用时&#xff0c;我们经常会遇到需要在特定页面启用或禁用某些功能的情况。本文将以 A父.vue 页面为例&#xff0c;探讨如何在点击汇总菜单时仅在该页面生效&#xff0c;而在其他页面不生效的问题。 1. 利用 Vue 3 的 provide 和 inject 实现状态传递 Vue 3 提供…...

JavaScript原生深拷贝方法 structuredClone使用

structuredClone 简介 structuredClone 是现代浏览器提供的原生 JavaScript 方法&#xff0c;用于深拷贝对象。它可以处理各种复杂数据结构&#xff0c;包括嵌套对象、数组、Date、Map、Set 等&#xff0c;且支持循环引用。 语法 const clone structuredClone(value);value:…...

Wireshark常用功能使用说明

此处用于记录下本人所使用 wireshark 所可能用到的小技巧。Wireshark是一款强大的数据包分析工具&#xff0c;此处仅介绍常用功能。 Wireshark常用功能使用说明 1.相关介绍1.1.工具栏功能介绍1.1.1.时间戳/分组列表概况等设置 1.2.Windows抓包 2.wireshark过滤器规则2.1.wiresh…...

深度学习:自然语言处理

一、引言 自然语言处理作为人工智能领域的关键分支&#xff0c;致力于使计算机能够理解、分析和生成人类语言。近年来&#xff0c;随着深度学习技术的迅猛发展&#xff0c;自然语言处理取得了前所未有的突破&#xff0c;一系列创新技术和应用不断涌现&#xff0c;极大地推动了…...

C底层 函数栈帧

文章目录 一&#xff0c;什么是寄存器 二&#xff0c;栈和帧 前言 我们在学习c语言程序的时候&#xff0c;是不是有很多的疑问&#xff0c;如 1&#xff0c;为什么形参不可以改变实参 2&#xff0c;为什么我们编写程序的时候会出现烫烫烫......这个乱码 3&#xff0c;那些局…...

Linux系统编程——进程替换

目录 前言 二、进程程序替换的概念 三、进程程序替换的原理 ​编辑 四、为什么需要进行进程程序替换 五、如何进行进程程序替换 1、进程替换函数&#xff1a; 1)execl()函数 2)execv()函数 3) execlp()函数 4) execvp()函数 5&#xff09;execle函数 6&#xff09;ex…...

PVE中VLAN的设置要点

使用这个拓扑进行连接无法直接访问PVE PVE 设置如下&#xff1a; 核心重点&#xff1a;PVE 的 vmbr0 接口直接绑定了 enp2s0&#xff0c;这会导致 VLAN 流量无法正确处理&#xff0c;因为 PVE 没有专门为 VLAN 3 配置接口。 1.vmbr0 和 vmbr0.3 都是绑定在物理接口 enp2s0 上&…...

零基础Python学习

1.环境搭建 1.1 安装运行环境python3.13 Welcome to Python.org 1.2 安装集成开发环境PyCharm PyCharm: the Python IDE for data science and web development 1.3 创建项目 && 设置字体 2.基础语法 2.1 常量与表达式 在python中整数除整数不会优化&#xff0c;所…...

命令提示符窗口(CMD)控制windows操作系统

一、关于进程 1. 通过进程ID结束进程&#xff1a; taskkill /PID 进程ID 2. 通过进程名称结束进程 taskkill /IM 进程名称.exe 3. 强制结束进程 taskkill /F /IM 进程名称.exe 4. 结束包含特定字符串的全部进程 taskkill /IM 包含字符串* /T 5. 启动一个新的命令行窗口来运行指…...

虚幻引擎5(Unreal Engine 5)高级教程

虚幻引擎5&#xff08;Unreal Engine 5&#xff09;高级教程 引言 虚幻引擎5&#xff08;Unreal Engine 5&#xff0c;简称UE5&#xff09;是Epic Games推出的一款功能强大的游戏引擎&#xff0c;广泛应用于游戏开发、影视制作和虚拟现实等领域。UE5以其先进的图形渲染技术、…...

3DMAX星空图像生成器插件使用方法详解

3DMAX星空图像生成器插件&#xff0c;一键生成星空或夜空的二维图像。它可用于创建天空盒子或空间场景&#xff0c;或作为2D艺术的天空背景。 【主要特点】 -单击即可创建星空图像或夜空。 -星数、亮度、大小、形状等参数。 -支持任何图像大小&#xff08;方形&#xff09;。…...

【QNX+Android虚拟化方案】129 - USB眼图参数配置

【QNX+Android虚拟化方案】129 - USB眼图参数配置 1. 软件侧dts如何配置眼图参数 及 其对应关系2. 硬件 QNX 侧调试眼图命令2.1 High Speed USB2.0 Host2.2 Super Speed USB3.0 Host3. 硬件 Android 侧调试眼图命令基于原生纯净代码,自学总结 纯技术分享,不会也不敢涉项目、不…...