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

#Vue3篇:defineOptionsvueUse

定义组件name

从 3.3 开始你可以直接通过

defineOptions 来设置组件名或 inheritAttrs 属性。

defineProps() 和 defineEmits()

const props = defineProps<{foo: stringbar?: number
}>()const emit = defineEmits<{(e: 'change', id: number): void(e: 'update', value: string): void
}>()// 3.3+:另一种更简洁的语法
const emit = defineEmits<{change: [id: number] // 具名元组语法update: [value: string]
}>()

defineProps 和 defineEmits 都是只能在


创建 Vnodes

import { h } from 'vue'const vnode = h('div', // type{ id: 'foo', class: 'bar' }, // props[/* children */]
)

https://cn.vuejs.org/guide/extras/render-function.html


rxjs库它是基于订阅-发布模式、观察者模式与迭代器实现的。

https://rxjs.dev/api/operators/every


vueuse一个提升开发效率的Vue3工具库

https://vueuse.org/core/useClipboard/


https://vueuse.nodejs.cn/core/useFocus/#google_vignette


‘defineOptions’ is not defined.eslintno-undef

https://www.cnblogs.com/fuct/p/17602675.html


defineComponent和defineOptions区别

主要用途
TypeScript 支持:defineComponent 主要是为了增强 TypeScript 的支持而设计的。它为组件提供了更好的类型推断和类型安全,确保了更灵活且可靠的组件定义方式1。
Composition API:当使用 Composition API 定义组件时,推荐使用 defineComponent 来封装组件逻辑。这不仅有助于简化组件定义,还能减少样板代码的数量。
使用方法
当你使用 defineComponent 创建一个组件时,你实际上是在创建一个返回 Vue 组件选项的对象的函数。这个对象可以包含所有的 Vue 组件选项,比如 name、props、setup 等等:


import { defineComponent } from 'vue';
export default defineComponent({name: 'MyComponent',props: {message: String,},setup(props) {// setup logic here...return {};}
});

通过这种方式,你可以获得更好的 IDE 提示和支持,特别是在使用 TypeScript 的时候。此外,defineComponent 还能帮助你在不丢失类型信息的情况下处理复杂的逻辑2。


DefineOptions
主要用途
SFC


<script setup>
// 不需要 import defineOptions from 'vue';defineOptions({name: 'MyComponent',inheritAttrs: false,// 其他自定义选项...
});
</script>

这种方法非常适合在 <script setup> 中使用,因为它可以让代码更加简洁和易读,特别适合小型和中型组件。需要注意的是,尽管 defineOptions 可以用来定义 props 和 emits,官方文档建议优先使用专门为此目的设计的 defineProps 和 defineEmits 宏,因为它们提供了更好的类型推导和支持13

defineProps() 和 defineEmits()

const props = defineProps<{foo: stringbar?: number
}>()const emit = defineEmits<{(e: 'change', id: number): void(e: 'update', value: string): void
}>()// 3.3+:另一种更简洁的语法
const emit = defineEmits<{change: [id: number] // 具名元组语法update: [value: string]
}>()

defineProps 和 defineEmits 都是只能在


创建 Vnodes

import { h } from 'vue'const vnode = h('div', // type{ id: 'foo', class: 'bar' }, // props[/* children */]
)

https://cn.vuejs.org/guide/extras/render-function.html


rxjs库它是基于订阅-发布模式、观察者模式与迭代器实现的。

https://rxjs.dev/api/operators/every


vueuse一个提升开发效率的Vue3工具库

https://vueuse.org/core/useClipboard/


https://vueuse.nodejs.cn/core/useFocus/#google_vignette


‘defineOptions’ is not defined.eslintno-undef

https://www.cnblogs.com/fuct/p/17602675.html


defineComponent和defineOptions区别

主要用途
TypeScript 支持:defineComponent 主要是为了增强 TypeScript 的支持而设计的。它为组件提供了更好的类型推断和类型安全,确保了更灵活且可靠的组件定义方式1。
Composition API:当使用 Composition API 定义组件时,推荐使用 defineComponent 来封装组件逻辑。这不仅有助于简化组件定义,还能减少样板代码的数量。
使用方法
当你使用 defineComponent 创建一个组件时,你实际上是在创建一个返回 Vue 组件选项的对象的函数。这个对象可以包含所有的 Vue 组件选项,比如 name、props、setup 等等:


import { defineComponent } from 'vue';
export default defineComponent({name: 'MyComponent',props: {message: String,},setup(props) {// setup logic here...return {};}
});

通过这种方式,你可以获得更好的 IDE 提示和支持,特别是在使用 TypeScript 的时候。此外,defineComponent 还能帮助你在不丢失类型信息的情况下处理复杂的逻辑2。


DefineOptions
主要用途
SFC


<script setup>
// 不需要 import defineOptions from 'vue';defineOptions({name: 'MyComponent',inheritAttrs: false,// 其他自定义选项...
});
</script>

这种方法非常适合在 <script setup> 中使用,因为它可以让代码更加简洁和易读,特别适合小型和中型组件。需要注意的是,尽管 defineOptions 可以用来定义 props 和 emits,官方文档建议优先使用专门为此目的设计的 defineProps 和 defineEmits 宏,因为它们提供了更好的类型推导和支持13

相关文章:

#Vue3篇:defineOptionsvueUse

定义组件name 从 3.3 开始你可以直接通过 defineOptions 来设置组件名或 inheritAttrs 属性。 defineProps() 和 defineEmits() const props defineProps<{foo: stringbar?: number }>()const emit defineEmits<{(e: change, id: number): void(e: update, val…...

李飞飞的生成式3D场景,对数字孪生的未来影响几何?

大家好&#xff0c;我是日拱一卒的攻城师不浪&#xff0c;致力于技术与艺术的融合。这是2024年输出的第47/100篇文章。 前言 这两天&#xff0c;AI界的教母李飞飞团队重磅发布了空间智能生成式AI大模型。 仅通过一张图片就能够生成一个可操作和交互的3D空间场景。 空间智能的…...

《操作系统 - 清华大学》6 -7:局部页面置换算法:Belady现象

文章目录 1. 定义2. LRU、FIFO和Clock的比较 1. 定义 局部页面置换算法的特点是针对一个正在运行的程序&#xff0c;它访问内存的情况&#xff0c;访问页的情况&#xff0c;来决定应该采取什么样策略&#xff0c;把相应的页替换出去&#xff0c;站在算法本身角度来考虑置换哪个…...

网络原理之 TCP 协议

目录 1. TCP 协议格式 2. TCP 原理 (1) 确认应答 (2) 超时重传 (3) 连接管理 a) 三次握手 b) 四次挥手 (4) 滑动窗口 (5) 流量控制 (6) 拥塞控制 (7) 延时应答 (8) 捎带应答 3. TCP 特性 4. 异常情况的处理 1) 进程崩溃 2) 主机关机 (正常流程) 3) 主机掉电 (…...

pinn爱看论文展

1.zhiwang 基于物理信息神经网络的波动方程优化求解方法 吴丹澜1梁展弘2余懿3蔡博3郑邦宏4王梓超4张紫玲4 1.肇庆学院计算机科学与软件学院,大数据学院2.香港城市大学电气工程系3.云浮市新兴县公安局4.肇庆学院计算机科学与软件学院、大数据学院 2&#xff0c;zhiwang 就爱…...

Burp(5)web网页端抓包与app渗透测试

声明&#xff01; 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&…...

Spring 基础

什么是 Spring 框架? Spring 是一款开源的轻量级 Java 开发框架&#xff0c;旨在提高开发人员的开发效率以及系统的可维护性。 我们一般说 Spring 框架指的都是 Spring Framework&#xff0c;它是很多模块的集合&#xff0c;使用这些模块可以很方便地协助我们进行开发&#…...

go 集成nacos注册中心、配置中心

使用限制 Go>v1.15 Nacos>2.x 安装 使用go get安装SDK&#xff1a; go get -u github.com/nacos-group/nacos-sdk-go/v2 快速使用 初始化客户端配置ClientConfig constant.ClientConfig{TimeoutMs uint64 // 请求Nacos服务端的超时时间&#xff0c;默…...

一文掌握 OpenGL 几何着色器的使用

学习本文需要具备 OpenGL ES 编程基础,如果看起来比较费劲,可以先看入门文章 OpenGL ES 3.0 从入门到精通系统性学习教程 。 什么是几何着色器 几何着色器(Geometry Shader) OpenGL 管线中的可选着色器阶段,位于顶点着色器(Vertex Shader) 和光栅化阶段 之间。 其核心…...

《数据资产入表:企业资产评估的新契机》

《数据资产入表&#xff1a;企业资产评估的新契机》 在当今数字经济时代&#xff0c;数据作为关键生产要素&#xff0c;其重要性日益凸显。国家高度重视数据资产&#xff0c;陆续出台了一系列重磅政策。其中&#xff0c;“数据二十条” 即《中共中央 国务院关于构建数据基础制度…...

架构14-资源与调度

零、文章目录 架构14-资源与调度 1、资源模型 &#xff08;1&#xff09;概述 在 Kubernetes 中&#xff0c;资源模型是一个非常重要的概念&#xff0c;它涉及如何管理和分配集群中的资源&#xff0c;以确保 Pod 能够在最合适的节点上运行。资源模型不仅包括物理资源&#…...

uni-app H5端使用注意事项 【跨端开发系列】

&#x1f517; uniapp 跨端开发系列文章&#xff1a;&#x1f380;&#x1f380;&#x1f380; uni-app 组成和跨端原理 【跨端开发系列】 uni-app 各端差异注意事项 【跨端开发系列】uni-app 离线本地存储方案 【跨端开发系列】uni-app UI库、框架、组件选型指南 【跨端开…...

springboot407美发管理系统(论文+源码)_kaic

摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装美发管理系统软件来发挥其高效地信息处理的作用&#xff0…...

Apache-HertzBeat 开源监控默认口令登录

0x01 产品描述: HertzBeat(赫兹跳动) 是一个开源实时监控系统,无需Agent,性能集群,兼容Prometheus,自定义监控和状态页构建能力。HertzBeat 的强大自定义,多类型支持,高性能,易扩展,希望能帮助用户快速构建自有监控系统。0x02 漏洞描述: HertzBeat(赫兹跳动) 开源实时…...

发送请求时遇到了数据库完整性约束错误 1048 Column ‘platform‘ cannot be null

可以这样解决 在 Vue 2 中封装接口请求时&#xff0c;确保每次请求都包含 platform Header 参数的最佳实践是通过创建一个全局的 Axios 实例&#xff0c;并为这个实例设置默认的 Header。这样可以确保所有通过该实例发送的请求都会自动包含 platform 参数。此外&#xff0c;你…...

Go快速开发框架集成Vue3漂亮的动态流程图编辑和动态流程展示插件

温馨提示&#xff1a;我们分享的文章是给需要的人&#xff0c;不需要的人请绕过&#xff0c;文明浏览&#xff0c;误恶语伤人&#xff01; 前言 为大家在开发流程相关业务时有个漂亮流程图展示&#xff0c;我们集成一个实用的流程图编辑器&#xff0c;让流程开发变得简单&…...

【SH】微信小程序调用EasyDL零门槛AI开发平台的图像分类研发笔记

文章目录 微信小程序字符串字符串模板字符串拼接 上传图片GET请求测试编写测试代码域名不合法问题 GET和POST请求测试 微信小程序字符串 字符串模板 这是ES6引入的特性&#xff0c;允许你通过反引号&#xff08;&#xff09;创建模板字符串&#xff0c;并在其中嵌入变量或表达…...

NanoLog起步笔记-6-StaticLogInfo

nonolog起步笔记-6-StaticLogInfo StaticLogInfo文件名和行号文件名和行号的传入log参数 RuntimeLogger::registerInvocationSitelogid为什么只能被赋一次值 reserveAlloc加入消息头finishAlloc返回 StaticLogInfo 写C语言编译前端时&#xff0c;给我印象深刻的一部分是&#…...

【OpenCV】视频录制

初始化一个视频写入对象&#xff0c;目的是将图像帧序列保存为视频文件。使用了OpenCV库中的cv2.VideoWriter类来创建这个对象&#xff0c;并且设置了视频的编码格式、帧率以及分辨率。 导入库 import cv2 import datetime cv2 是 OpenCV 库的 Python 接口&#xff0c;提供了…...

同城到家预约上门服务解决方案:家政预约同城服务小程序

### 系统架构"同城到家预约上门服务解决方案&#xff1a;PHP家政预约同城服务小程序"采用B/S架构&#xff0c;后端使用PHP语言开发&#xff0c;前端则基于微信小程序平台。系统分为用户端、服务端和后台管理端&#xff0c;各端相互依赖又相互独立&#xff0c;支持多种…...

linux-14 关于shell(十三)type,内置命令和外部命令

我们说一个命令&#xff0c;叫做type&#xff0c;先来看看type的效果&#xff0c;比如说我指定type后面这个命令叫cd&#xff0c;如下图&#xff0c; 你看它说什么&#xff1f;cd is a shell builtin&#xff0c;我再 type ls&#xff0c;看它会说什么&#xff1f;如下图&#…...

使用php生成、识别二维码

1、生成二维码 要求&#xff1a; # 详见&#xff1a;https://packagist.org/packages/bacon/bacon-qr-code php: ^8.1iconv Library imagick Library # 或者&#xff1a;GD library 下载&#xff1a; # 详见&#xff1a;https://packagist.org/packages/bacon/bacon-qr-cod…...

pytorch多GPU训练教程

pytorch多GPU训练教程 文章目录 pytorch多GPU训练教程1. Torch 的两种并行化模型封装1.1 DataParallel1.2 DistributedDataParallel 2. 多GPU训练的三种架构组织方式2.2 数据不拆分&#xff0c;模型拆分&#xff08;Model Parallelism&#xff09;2.3 数据拆分&#xff0c;模型…...

日拱一卒(12)——leetcode学习记录:2的幂

一、题目 判断一个整数n是否是2的幂次&#xff0c;是返回True&#xff0c;否返回False 二、分析 1. 递归法&#xff1a;如果n是0&#xff0c;返回False&#xff0c;如果n是1&#xff0c;返回True&#xff0c;其他情况&#xff0c;将n//2递归 2. 数学法&#xff1a;还是从数…...

非文件形式的内存动态函数库调用接口

使用memfd的系统调用接口将动态库加载到proc虚拟文件系统&#xff0c;提供的fd为进程持有的句柄&#xff0c;通过dlopen的path指向此句柄&#xff0c;即可实现非文件系统加载动态链接库。 文章目录 一、memfd_create二、dl_open三、示例参考 一、memfd_create 接口名称int mem…...

TimeXplusplus——提高时间序列数据的可解释性,避免琐解和分布偏移问题的深度学习可解释性的框架

摘要 论文地址&#xff1a;https://arxiv.org/abs/2405.09308 源码地址&#xff1a;https://github.com/zichuan-liu/timexplusplus 信号传输技术的优化对于推动光通信的发展至关重要。本文将详细探讨线路编码技术的目标及其实现方式。线路编码旨在提高带宽和功率效率&#xf…...

第十七届山东省职业院校技能大赛 中职组“网络安全”赛项资源任务书样题②

第十七届山东省职业院校技能大赛 中职组“网络安全”赛项资源任务书样题② 模块A 基础设施设置与安全加固(200分)A-1 登录安全加固&#xff08;Windows, Linux&#xff09;A-2 Nginx安全策略&#xff08;Linux&#xff09;A-3日志监控&#xff08;Windows&#xff09;A-4中间件…...

嵌入式蓝桥杯学习9 usart串口

复制一下之前ADC的工程&#xff0c;打开cubemx cubemx配置 1.在Connectivity中点击USART1 Mode&#xff08;模式&#xff09;:Asynchronous&#xff08;异步模式&#xff09; 2.将PA9设置为USART1_TX&#xff0c;PA10设置为USART1_RX。 3.配置Parameter Settings. Baud R…...

golang实现简单的redis服务4.0(持久化)

redis的持久化机制与实现原理RDB工作原理问题1:如果数量很大怎么办?问题2:子线程在持久化期间有新的数据写入会发生什么?如何保证数据一致性? AOF的原理如何解决aof文件越来越大的问题aof文件如何重写?aof如何恢复数据aof文件有问题(损坏了)恢复会发生什么?怎么办?aof有哪…...

安卓底层相机流的传输方式

这是安卓 相机流的定义 typedef enum {CAM_STREAMING_MODE_CONTINUOUS, /* continous streaming */CAM_STREAMING_MODE_BURST, /* burst streaming */CAM_STREAMING_MODE_BATCH, /* stream frames in batches */CAM_STREAMING_MODE_MAX} cam_streaming_mode_t; 在ca…...

【YashanDB知识库】使用c-调用yashandb odbc驱动执行SQL时报YAS-08008 not all variables bounded

本文内容来自YashanDB官网&#xff0c;原文内容请见 https://www.yashandb.com/newsinfo/7508307.html?templateId1718516 问题现象 某客户的应用(c# asp.net)在运行时报如下异常&#xff1a; 问题的风险及影响 客户的应用无法正常运行 问题影响的版本 所有的yashandb版本…...

SQL项目实战与综合应用——项目设计与需求分析

项目设计与需求分析是软件开发过程中的核心环节&#xff0c;尤其在涉及数据库的应用时&#xff0c;良好的设计将直接影响到项目的可扩展性、性能和维护性。本文将深入探讨数据库设计的最佳实践&#xff0c;结合 C 与 SQL 的实际应用场景&#xff0c;涵盖项目需求收集、数据库设…...

JAVA基础学习笔记_反射+动态代理

文章目录 反射获取class对象的三种方式获取构造方法获取成员变量获取成员方法反射的作用 动态代理 反射 允许对成员变量\成员方法\构造方法的信息进行编程访问 把类内的信息扒的干干净净,获取解剖 获取从class字节码文件中获取 获取class对象的三种方式 public static void …...

Go 协程上下文切换的代价

在 Go 语言中&#xff0c;协程&#xff08;Goroutine&#xff09;是一种非常轻量级的并发执行单元&#xff0c;设计之初就是为了简化并发编程并提高性能。协程的上下文切换被认为是非常高效的&#xff0c;但是它的真正性能优势需要我们深入了解其背后的机制。 本文将深入探讨 …...

TikTok代理IP:如何帮助解决限流、封号问题?

在当今的社交媒体领域&#xff0c;TikTok仍然是“当红”平台。然而&#xff0c;许多用户在使用 TikTok 的过程中&#xff0c;常常会遇到限流和封号的问题&#xff0c;比如视频零播放&#xff0c;带来了极大的困扰。 这些限流和封号问题的出现&#xff0c;引发了用户对解决方法…...

vue中验证码的实现方式

在写登录页的时候有的系统会让你也进行一下验证码绘制&#xff0c;那么验证码如何实现的呢&#xff1f;我在写登录页的时候通过将登录框&#xff0c;验证码分开页面来写&#xff0c;最后将它们变成标签来导入到我的样式页面中&#xff0c;这样写不仅方便&#xff0c;更容易修改…...

从零开始学习18串锂电池BMS保护板

18串锂电池BMS保护板实物开源资料&#xff01; BMS系统ADBMS1818/LTC6813凌力尔特主从一体机采集板&#xff1a;STM32F103LTC6813/ADBMS1818程序已调通: 1:18串电池电压&#xff08;采集精度1.2mV/3mV&#xff09; 2:8通道温度采集 3:一通道电流采集 4:RS485通信&#xff08;楼…...

最左侧1问题的一种二分法解法

背景 最近看TI的C6000系列DSP文档时了解到Leftmost 1 or 0 counting功能&#xff0c; 网上搜索到这篇相关博客&#xff08;最左侧1问题&#xff09;&#xff0c;发现里面的二分法代码自己看不懂&#xff0c;于是尝试用更容易看懂的方式重写一下。 思路 假设输入数据不超过3…...

HarmonyOS-中级(四)

文章目录 Native适配开发三方库的基本使用 &#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;HarmonyOS专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年12月09日11点12分 Native适配开发 Node-API HarmonyOS Node-API 是 HarmonyOS 提供的…...

rust中self、self、self区别

self的类型&#xff0c;在给出调用者和方法名的前提下&#xff0c;Rust可以准确地推导出方法是否是只读的&#xff08;&self&#xff09;&#xff0c;是否需要修改数据&#xff08;&mut self&#xff09;&#xff0c;是否会获取数据的所有权&#xff08;self&#xff0…...

种子流和花粉流怎么理解它们之间的大小关系

种子流和花粉流是植物繁殖和遗传多样性研究中的两个重要概念&#xff0c;它们分别描述了种子和花粉在空间上的传播过程。理解它们之间的大小关系&#xff0c;即传播距离和对遗传结构的影响&#xff0c;对于生态学和保护生物学具有重要意义。 种子流&#xff08;Seed Dispersal&…...

Mybatis-plus 源码解读

简述 本篇主要针对MybatisPlus源码进行解读。 案例 上一篇已经讲了Springboot如何集成MybatisPlus&#xff1a; springboot-mybatis-plus集成篇 源码解析 和Springboot集成Mybatis一样&#xff0c; 依赖了mybatis-plus-spring-boot3-starter&#xff0c;其中主要关注spri…...

web 期末作业简单设计网页——“我的家乡”网站简单设计

1、网页效果 首页 七彩云南页 旅游攻略页 用户页面 2、源代码 首页 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>首页</title><link rel"stylesheet" href"out.css&quo…...

Redis篇-3--原理篇2--Redis事务

1、概述 Redis 提供了简单的事务机制&#xff0c;Redis 事务的本质是一组命令的集合。当执行redis事务时&#xff0c;即一次性按照添加顺序依次执行这些命令&#xff0c;中间不会被打断或者干扰。 Redis 的事务机制并不像关系型数据库中的事务那样提供完整的ACID特性&#xf…...

GEE:CCDC 分类组件,对每个分段进行分类

作者:CSDN @ _养乐多_ 连续变化检测与分类(Continuous Change Detection and Classification, CCDC) 利用了时间序列拟合来对影像中的像素值随时间的变化趋势建模。每一段模型代表一个时间段内的地表覆盖类型和状态。 本文将解释如何在谷歌地球引擎(Google Earth Engine,…...

常见排序算法总结 (四) - 快速排序与随机选择

快速排序 算法思想 每一轮在数组相应的范围上随机找一个元素进行划分&#xff0c;将不大于它的所有元素都放到左边&#xff0c;将大于它的元素都放到右边。在左右两个子数组上不断地递归&#xff0c;直到整个数组上有序。 注意&#xff1a;实现时选择的时参考荷兰国旗问题优化…...

[创业之路-187]:《华为战略管理法-DSTE实战体系》-1-从UTStarcom的发展历程,如何辩证的看企业初期发展太顺利中的危机

目录 一、UTStarcom&#xff08;UT斯达康&#xff09;的发展历程 1、创立与初期发展 2、快速成长与上市 3、技术创新与业务拓展 4、战略调整与持续发展 二、从UTStarcom的发展历程&#xff0c;如何辩证的看企业初期发展太顺利中的危机 1、企业初期发展的顺利表现 2、顺…...

C缺陷与陷阱 — 3 深入理解表达式

目录 1 表达式的运算次序 1.1 自增或自减操作符 1.2 函数参数 1.3 函数指针 1.4 函数调用 1.5 嵌套赋值语句 2 函数调用不作为函数参数 3 赋值语句的谨慎使用 1 表达式的运算次序 除了少数操作符&#xff08;函数调用操作符 ( )、&&、| |、? : 和 ,&#xff…...

Next.js 系统性教学:中间件与国际化功能深入剖析

更多有关Next.js教程&#xff0c;请查阅&#xff1a; 【目录】Next.js 独立开发系列教程-CSDN博客 目录 一、Next.js 中间件 (Middleware) 功能解析 1.1 什么是中间件&#xff1f; 1.2 Next.js 中间件的工作机制 1.3 中间件的功能应用 身份验证与授权 请求重定向 修改请…...

openWebUI+ollamawindows+不用docker+webLite本地安装

openWebUI & ollama & windows & 不用docker & webLite 本地安装 总结一下安装教程 10核CPU16G内存 两个web框架都可以&#xff0c;先说简单的 ollama-webui-lite(https://github.com/ollama-webui/ollama-webui-lite) 轻量级&#xff0c;只使用nodejs 先装…...