Vue:单文件组件
Vue:单文件组件
1、 什么是单文件组件?
在传统的Vue开发里,我们接触的是非单文件组件,它们通常被定义在同一个HTML文件中,随着项目规模的扩大,代码会变得杂乱无章,维护起来极为困难。而单文件组件(Single File Component,SFC)则是Vue提供的一种强大的组织方式,它将一个组件的所有相关代码集中在一个文件里,具有诸多优势。
- 文件与组件的对应关系:单文件组件严格遵循一个文件对应一个组件的原则。这使得代码结构更加清晰,每个组件的功能和实现都被封装在独立的文件中,便于开发者进行管理和维护。比如,在一个大型电商项目中,商品列表组件、购物车组件、用户信息组件等都可以分别存放在不同的单文件组件中,开发者可以快速定位和修改特定组件的代码。
- 文件命名与识别:单文件组件的文件名通常以
.vue
结尾,这是Vue框架所规定的。这种文件格式浏览器无法直接打开运行,需要借助Vue框架进行编译。在编译过程中,Vue会将.vue
文件中的模板、脚本和样式分别处理,最终转换为浏览器能够识别的HTML、JS和CSS代码。 - 命名规范:单文件组件的文件名命名规范和组件名的命名规范一致,有以下几种常见方式:
- 全部小写:例如
userlist
,简洁直观,但在大型项目中可能会降低代码的可读性。 - 首字母大写,后面全部小写:如
Userlist
,一定程度上能突出组件的特殊性,便于区分。 - kebab - case命名法:像
user - list
,这种命名方式在前端开发中广泛使用,具有良好的可读性,能够清晰地表达组件的功能。 - CamelCase命名法:例如
UserList
,与Vue开发者工具的展示风格相呼应,方便在调试和开发过程中快速识别组件。
- 全部小写:例如
需要注意的是,不能使用小驼峰命名法(如 userList
),因为它容易与JavaScript变量命名混淆;同时,也不能使用HTML标签名作为组件名,否则会导致浏览器解析时产生歧义。
2、 x.vue文件的内容包括三块
单文件组件 .vue
文件主要由三个部分组成,分别负责组件的结构、交互和样式,它们相互协作,共同构建出完整的组件。
- 结构(
<template>
):<template>
标签用于定义组件的HTML结构。它遵循HTML语法规范,同时可以使用Vue的指令来实现动态内容的渲染。例如,使用v - for
指令可以根据数据列表动态生成DOM元素,使用v - if
指令可以根据条件显示或隐藏元素。以下是一个简单的示例:
<template><div><h1>{{ title }}</h1><ul><li v - for="item in items" :key="item.id">{{ item.name }}</li></ul></div>
</template>
- 交互(
<script>
):<script>
标签内编写的是组件的JavaScript代码,用于处理组件的逻辑。在这个部分,我们可以定义组件的数据、方法、生命周期钩子函数等。例如:
<script>
export default {data() {return {title: '商品列表',items: [{ id: 1, name: '商品1' },{ id: 2, name: '商品2' }]};},methods: {addItem() {this.items.push({ id: this.items.length + 1, name: `商品${this.items.length + 1}` });}},mounted() {console.log('组件已挂载');}
};
</script>
- 样式(
<style>
):<style>
标签用于编写组件的CSS样式。可以使用普通的CSS语法,也可以结合预处理器(如Sass、Less)来提高样式编写的效率。通过设置scoped
属性,可以将样式的作用域限定在当前组件内,避免样式冲突。例如:
<style scoped>
h1 {color: blue;
}
li {list - style: none;
}
</style>
3、 export和import,ES6的模块化语法
在单文件组件的开发中,我们经常需要在不同的文件之间共享和使用组件,这时就需要用到ES6的模块化语法,通过 export
和 import
来实现组件的导出和导入。
- 默认导入和导出
- 导出:使用
export default
可以导出一个默认的模块对象。在一个模块中,只能有一个默认导出。例如:
- 导出:使用
// MyComponent.vue
export default {// 组件配置
};
- 导入:使用
import
语句导入默认导出的模块,导入时可以使用任意名称。例如:
// main.js
import MyComponent from './MyComponent.vue';
- 按需导入和导出
- 导出:通过
export {a, b}
可以将模块中的多个成员分别导出。例如:
- 导出:通过
// utils.js
export const formatDate = (date) => {// 日期格式化逻辑
};
export const calculateTotal = (items) => {// 计算总价逻辑
};
- 导入:使用
import {a, b}
语句按需导入模块中的成员。例如:
// main.js
import { formatDate, calculateTotal } from './utils.js';
- 分别导出和导入
- 导出:分别使用
export
语句导出变量或函数。例如:
- 导出:分别使用
// config.js
export var apiUrl = 'https://example.com/api';
export function sayHello() {console.log('Hello!');
}
- 导入:通过
import {name, sayHi}
导入相应的成员。例如:
// main.js
import { apiUrl, sayHello } from './config.js';
4、 VScode插件
在使用VSCode编写单文件组件时,安装一些插件可以显著提高开发效率。其中,vetur
插件是一个非常实用的选择。
- 高亮显示:安装
vetur
插件后,.vue
文件中的不同部分(<template>
、<script>
、<style>
)会有不同的颜色高亮显示,使代码结构更加清晰,便于阅读和编写。 - 智能提示:该插件支持代码智能提示功能,当输入特定的代码片段时,会自动弹出相关的建议和补全选项。例如,输入
v -
会提示所有可用的Vue指令,输入this.
会提示当前组件中定义的所有数据和方法。 - 语法检查:
vetur
会对.vue
文件进行语法检查,在代码编写过程中实时发现并标记语法错误,帮助开发者及时纠正问题,提高代码质量。
5、 第一个单文件组件
将之前“组件嵌套”的例子修改为单文件组件,无论使用单文件组件还是非单文件组件,都遵循创建组件、注册组件、使用组件这三个基本步骤。
- 文件结构与分工
main.js
:创建Vue实例的代码通常放在main.js
中,它作为项目的入口文件,负责初始化Vue应用并引入根组件。例如:
import Vue from 'vue';
import App from './App.vue';new Vue({render: h => h(App)
}).$mount('#app');
index.html
:剩下的HTML代码一般存放在 index.html
中,它包含一个根容器,用于挂载Vue应用。例如:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF - 8"><title>Vue App</title>
</head>
<body><div id="app"></div><script src="main.js"></script>
</body>
</html>
- 代码执行原理
- 加载HTML页面:浏览器打开
index.html
页面,加载根容器<div id="app"></div>
。 - 加载Vue核心库:浏览器加载
vue.js
文件,使环境具备使用Vue的能力。 - 加载
main.js
:在main.js
中,使用import
语句导入各个组件,完成组件的创建和注册。例如:
- 加载HTML页面:浏览器打开
import App from './App.vue';
import son from './son.vue';
import girl from './girl.vue';
import child from './child.vue';
- 创建Vue实例并渲染:在
main.js
中创建Vue实例,将根组件App
渲染到根容器中。Vue实例会编译模板语句,将组件的内容渲染到页面上。
需要注意的是,写完代码后不能直接在浏览器中运行,因为浏览器不认识 .vue
文件和ES6的模块化语法。此时需要安装Vue脚手架,它集成了一系列的构建工具和预设配置,能够帮助我们处理 .vue
文件的编译、ES6语法转换以及项目的打包和部署等操作。
相关文章:
Vue:单文件组件
Vue:单文件组件 1、 什么是单文件组件? 在传统的Vue开发里,我们接触的是非单文件组件,它们通常被定义在同一个HTML文件中,随着项目规模的扩大,代码会变得杂乱无章,维护起来极为困难。而单文件…...
网络编程---创建客户端和服务端以及协议包
一,创建客户端和服务端的思维导图 首先我们要知道客户端和服务端在网络中进行通信是依靠IP地址和端口号的,所以第一步就是创建一个套接字存储ip和port。通过套接字建立连接后通过read,write函数实现两者之间的交流(套接字的描述符…...
云安全相关博客阅读(四)
How we built Pingora, the proxy that connects Cloudflare to the Internet 基于 Rust 构建 Pingora,作为 Nginx 的替代方案; Nginx 作为常用代理服务,广泛应用于 CDN、WAF、Stream、Tunnel 等场景,是基础网络设施 然而&…...
靶场(十三)---小白心得思路分享---Levram
启程: 老样子开扫端口,22端口自动忽略,看到8000端口搭载着Gerapy服务 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 256 b9:bc:8f:01:3f:85:5d:f9…...
高级java每日一道面试题-2025年3月04日-微服务篇[Eureka篇]-Eureka是什么?
如果有遗漏,评论区告诉我进行补充 面试官: Eureka是什么? 我回答: 在Java高级面试中,关于Eureka的讨论通常会涵盖其基本概念、组件与架构、工作原理、高级特性以及与其他服务发现工具的比较等多个方面。以下是结合提供的内容对Eureka进行的详细解析和…...
Linux的根目录全知道
Linux的根目录(/)遵循文件系统层次结构标准(FHS),定义了各目录的用途。以下是主要目录及其功能的详细说明: 核心目录结构 /bin 作用:存放基础用户命令(所有用户可用)。示例:ls, cp, cat, bash等。注意:在部分系统中,/bin可能是/usr/bin的符号链接(通过usrmerge合并…...
嵌入式裸机设计--MCU常用裸机架构有哪些?
为什么是裸机设计 792125321入群学习更高效! 在MCU(微控制器单元)裸机开发中,我们常见的架构设计主要围绕如何高效管理资源和任务调度。认识这些开发方式,对我们开发一个小型项目来说及有好处! 下面介绍…...
基于FPGA频率、幅度、相位可调的任意函数发生器(DDS)实现
基于FPGA实现频率、幅度、相位可调的DDS 1 摘要 直接数字合成器( DDS ) 是一种通过生成数字形式的时变信号并进行数模转换来产生模拟波形(通常为正弦波)的方法,它通过数字方式直接合成信号,而不是通过模拟信号生成技术。DDS主要被应用于信号生成、通信系统中的本振、函…...
Rocky Linux 9.x 基于 kubeadm部署k8s 1.32
一、部署说明 1、主机操作系统说明 序号操作系统及版本备注1Rocky Linux release 9下载链接:https://mirrors.163.com/rocky/9.5/isos/x86_64/Rocky-9.5-x86_64-minimal.iso 2、主机硬件配置说明 作用IP地址操作系统配置关键组件k8s-master01192.168.234.51Rocky…...
linux入侵排查-综合日志分析
1.综合日志分析 1.掌握linux环境下系统日志的分析方法 2.掌握web访问日志的分析方法 3.掌握数据库日志的分析方法 4.掌握数据库日志的分析方法 5.熟悉linux中常用日志分析命令 实验环境 2.实验预设问题 1.定位攻击者ip地址 2.分析攻击者首次成功登录web管理后台的时间 …...
网络华为HCIA+HCIP 以太网链路聚合与交换机堆叠、集群
网络可靠性 网络的可靠性指当设备或者链路出现单点或者多点故障时保证网络服务不间断的能力。网络的可靠性可以从单板、设备、链路多个层面实现。 单板可靠性 以S12700E-8为例,设备提供8个线路板槽位、4个交换网板槽位、2个主控板槽位、6个电源模块槽位、4个风扇…...
[原创](Modern C++)现代C++的关键性概念: 灵活多变的绑定: std::bind
[作者] 常用网名: 猪头三 出生日期: 1981.XX.XX 企鹅交流: 643439947 个人网站: 80x86汇编小站 编程生涯: 2001年~至今[共24年] 职业生涯: 22年 开发语言: C/C、80x86ASM、Object Pascal、Objective-C、C#、R、Python、PHP、Perl、 开发工具: Visual Studio、Delphi、XCode、C …...
[QT]深入理解Qt中的信号与槽机制
文章目录 信号与槽1. 信号和槽概述信号的本质槽的本质说明 2. 信号和槽的使用2.1 连接信号和槽2.2 查看内置信号和槽2.3 通过 Qt Creator 生成信号槽代码 3. 自定义信号和槽3.1 基本语法3.2 带参数的信号和槽**示例1:重载信号槽****示例2:信号槽参数列表…...
电脑管家如何清理内存及垃圾,提升电脑性能
电脑在长时间使用后,常常会变得越来越卡顿,打开程序的速度变慢,甚至响应迟缓。这时,不少用户会选择使用电脑管家来进行内存清理和垃圾清理。那么,电脑管家是如何清理内存的?它又是如何清理垃圾的࿱…...
OpenCV图像处理:分割、合并、打码、组合与边界填充
引言 OpenCV是一个功能强大的计算机视觉库,广泛应用于图像处理、视频分析、物体检测等领域。本文将结合代码示例,详细介绍如何使用OpenCV进行图像的分割、合并、打码、组合以及边界填充等操作。 1. 图像的分割与合并 1.1 图像分割 在OpenCV中ÿ…...
游戏立项时期随笔记录(1)
模拟经营的项目还没有完全结束,这几天又有可能涉及到一个新项目。感想随笔记录一下,防止忘记。今天一天整理这个,搞得今天没时间看数学和AI。 在 Unity3D 游戏前端主程序的立项时期,核心目标是明确技术方向、评估可行性、搭建基础…...
C#入门学习记录(四)C#运算符详解:掌握算术与条件运算符的必备技巧+字符串拼接
一、运算符概述 运算符是程序进行数学运算、逻辑判断的核心工具,C#中的运算符分为: 算术运算符 → 数学计算( - * / %) 条件运算符 → 三目判断(?:) 关系运算符 → 比较大小(> < &#…...
DeepSeek 3FS 与 JuiceFS:架构与特性比较
近期,DeepSeek 开源了其文件系统 Fire-Flyer File System (3FS),使得文件系统这一有着 70 多年历时的“古老”的技术,又获得了各方的关注。在 AI 业务中,企业需要处理大量的文本、图像、视频等非结构化数据,还需要应对…...
汽车PKE无钥匙进入系统一键启动系统定义与原理
汽车智能钥匙(PKE无钥匙进入系统)一键启动介绍 系统定义与原理 汽车无钥匙进入系统,简称PKE(Passive Keyless Entry),该系统采用了RFID无线射频技术和车辆身份编码识别系统,率先应用小型化、小…...
【深度学习与大模型基础】第6章-对角矩阵,对称矩阵,正交矩阵
一、对角矩阵 对角矩阵(Diagonal Matrix)是一种特殊的方阵,其非对角线上的元素均为零,只有对角线上的元素可能非零。具体来说,对于一个 nn的矩阵 A[],如果满足 则 AA 称为对角矩阵。对角矩阵通常表示为&am…...
go语言中切片的长度和容量详解
Go 语言中,切片(Slice) 是一种动态数组,它的核心特性由 长度(Length) 和 容量(Capacity) 共同定义。这两个概念是操作切片时的关键,理解它们的含义和区别能帮助你高效管理内存并避免常见错误。 一、长度(Length) 定义:切片的长度表示当前包含的实际元素个数,即可以…...
在Vue3中使用$router.push方法进行路由跳转时,如何传递多个路径参数?
在 Vue 3 里,你可以借助 $router.push 方法进行路由跳转,同时传递多个路径参数。下面为你详细介绍具体实现方式: 1. 路由配置 首先,要在路由配置中定义好需要的路径参数。示例如下: import { createRouter, createW…...
C语言学习笔记(第三部份)
说明:由于所有内容放在一个md文件中会非常卡顿,本文件将接续C_1.md文件的第三部分 整型存储和大小端 引例: int main(void) {// printf("%d\n", SnAdda(2, 5));// PrintDaffodilNum(10000);// PrintRhombus(3);int i 0;int arr[…...
软考 中级软件设计师 考点知识点笔记总结 day05
文章目录 4、栈和队列4.1、栈的定义4.2、队列定义 5、串、数组、矩阵和广义表5.1、串5.2、 数组5.3、稀疏矩阵5.4、广义表 4、栈和队列 4.1、栈的定义 线性表是具有相同数据类型的n个数据元素的有限序列, n为表厂。n0时 线性表是一个空表 L (a1,a2,a3…...
【Linux】system V消息队列,信号量
🔥个人主页:Quitecoder 🔥专栏:linux笔记仓 目录 01.消息队列System V 消息队列接口 02.信号量System V 信号量接口 03.OS对system V ipc的管理消息队列管理结构共享内存管理结构信号量管理结构 01.消息队列 消息队列提供了一个…...
【新能源汽车“心脏”赋能:三电系统研发、测试与应用匹配的恒压恒流源技术秘籍】
新能源汽车“心脏”赋能:三电系统研发、测试与应用匹配的恒压恒流源技术秘籍 在新能源汽车蓬勃发展的浪潮中,三电系统(电池、电机、电控)无疑是其核心驱动力。而恒压源与恒流源,作为电源管理的关键要素,在…...
在 Vue.js 中使用递归组件:轻松处理嵌套数据结构
在开发前端应用时,我们经常会遇到需要处理嵌套数据结构的场景,比如树形菜单、评论列表、文件夹结构等。Vue.js 提供了一种优雅的方式来解决这类问题——递归组件。通过递归组件,我们可以轻松地渲染嵌套数据,并保持代码的简洁和可维…...
飞腾2000+/64核加固服务器
在当今信息化高速发展的时代,数据中心作为信息技术的核心支撑,其稳定性、安全性和高效性成为了各行各业关注的焦点。特别是在国防、金融、电信等关键领域,对服务器的性能、可靠性和安全性提出了前所未有的高要求。正是在这样的背景下…...
AutoMQ x OSS 的 Iceberg 数据入湖的最佳实践
背景 在数字化转型进程中,用户交互行为产生的多维度数据已成为企业的重要战略资产。以短视频平台为例,基于用户点赞事件的实时推荐算法能显著提升用户活跃度和平台粘性。这类实时数据主要通过 Apache Kafka 流处理平台进行传输,通过其扇出&a…...
深度学习大模型补充知识点
文章目录 VIT用途处理方法与CNN区别 多模态LLM:大语言模型预训练指令微调强化学习 总结 VIT ViT(Vision Transformer) 首次将 Transformer架构成功应用于计算机视觉领域(尤其是图像分类任务)。传统视觉任务主要依赖卷…...
定义模型生成数据表
1. 数据库配置 js import { Sequelize, DataTypes } from sequelize; // 创建一个 Sequelize 实例,连接到 SQLite 数据库。 export const sequelize new Sequelize(test, sa, "123456", { host: localhost, dialect: sqlite, storage: ./blog.db })…...
C++与C的基本不同
文章目录 变量定义规则1. 基本语法2. 初始化3. 作用域4. 存储类别 函数定义规则1. 基本语法2. 函数声明和定义3. 默认参数4. 内联函数 解析输出流void BluetoothA2DPSink::start(const char* name)class BluetoothA2DPSink : public BluetoothA2DPCommon C是在C语言基础上发展而…...
React19源码系列之createRoot的执行流程是怎么的?
2024年12月5日,react发布了react19版本。后面一段时间都将学习它的源码,并着手记录。 react官网:react19新特性 https://react.dev/blog/2024/12/05/react-19 在用vite创建react项目的使用,main.tsx主文件都会有以下代码。 //i…...
【CXX-Qt】1.5 使用CMake构建
在本示例中,我们将演示如何使用CMake将CXX-Qt代码集成到C应用程序中。Cargo将CXX-Qt代码构建为静态库,然后CMake将其链接到C可执行文件中。 我们首先需要修改项目结构,以分离项目的不同部分。 tutorial cpp qml rust将Rust项目移动到rust文…...
前端面试项目拷打
Axios相关 1.在Axios二次封装时,具体封装了哪些内容,如何处理请求拦截和响应拦截? axios二次封装的目的:为了统一处理请求和响应拦截器、错误处理、请求超时、请求头配置等,提高代码可维护性和复用性。 首先创建axios…...
“Ubuntu禁止root用户通过SSH直接登录”问题的解决
目录 1 前言 2 问题的解决 2.1 修改sshd_config文件 2.2 重启 SSH 服务 1 前言 最近在做毕设的时候,由于使用普通用户,在MobaXterm的图形界面上,无法正常查看/root文件夹内容,如下图所示: 于是我就想直接想用oot…...
Kafka的零拷贝
Kafka的零拷贝(Zero-Copy)技术是其实现高吞吐量的关键优化之一,主要通过减少数据在内核空间和用户空间之间的冗余复制及上下文切换来提升性能。以下是其核心要点: 1. 传统数据拷贝的问题 多次复制:传统文件传输需经历…...
《大语言模型》学习笔记(三)
GPT系列模型的技术演变 2022 年11月底,OpenAI推出了基于大语言模型的在线对话应用—ChatGPT。由于具备出色的人机对话能力和任务解决能力,ChatGPT一经发布就引发了全社会对于大语言模型的广泛关注,众多的大语言模型应运而生,并且…...
华为OD机试 - 最长回文字符串 - 贪心算法(Java 2024 E卷 100分)
题目描述 如果一个字符串正读和反读都一样(大小写敏感),则称之为一个「回文串」。例如: level 是一个「回文串」,因为它的正读和反读都是 level。art 不是一个「回文串」,因为它的反读 tra 与正读不同。Level 不是一个「回文串」,因为它的反读 leveL 与正读不同(因大小…...
K8S-etcd服务无法启动问题排查
一、环境、版本信息说明 k8s:v1.19.16 etcdctl version: 3.5.1 3台etcd(10.xxx.xx.129、10.xxx.xx.130、10.xxx.xx.131)组成的集群。 二、问题根因 129节点的etcd数据与其他两台数据不一致,集群一致性校验出错导致无法加入集…...
基于WebRTC的嵌入式音视频通话SDK:EasyRTC跨平台兼容性技术架构实时通信的底层实现
EasyRTC的核心架构围绕WebRTC技术构建,同时通过扩展信令服务、媒体服务器和NAT穿透机制,解决了WebRTC在实际部署中的痛点。其架构可以分为以下几个核心模块: 1)WebRTC基础层 媒体捕获与处理:通过getUserMediaAPI获取…...
SpringBoot-已添加并下载的依赖,reload和mvn clean 后还是提示找不到jar包问题
背景: 添加spring-jdbc依赖时,原来是指定版本的,担心版本冲突,就改成依赖托管,悲剧的是反复reload和mvn clean,import到类的该包一直标红,提示jar包找不到。。。 解决方案: Idea左上…...
HTML5扫雷游戏开发实战
HTML5扫雷游戏开发实战 这里写目录标题 HTML5扫雷游戏开发实战项目介绍技术栈项目架构1. 游戏界面设计2. 核心类设计 核心功能实现1. 游戏初始化2. 地雷布置算法3. 数字计算逻辑4. 扫雷功能实现 性能优化1. DOM操作优化2. 算法优化 项目亮点技术难点突破1. 首次点击保护2. 连锁…...
机器学习——数据清洗(缺失值处理、异常值处理、数据标准化)
数据清洗(缺失值处理、异常值处理、数据标准化) 在数据处理与分析流程中,数据清洗占据着极为关键的地位。原始数据往往充斥着各种问题,如缺失值、异常值,且数据的尺度和分布也可能存在差异,这些问题会严重影响后续数据分析和机器学习模型的准确性与性能。因此,有效的数据…...
【综述】An Introduction to Vision-Language Modeling【一】
介绍 发表在预印本上的综述,长达76页,其中正文46页。 来自Meta 在Meta工作期间完成 ‡蒙特利尔大学, Mila ♡麦吉尔大学, Mila †多伦多大学 ♠卡内基梅隆大学 ♣麻省理工学院 ∧纽约大学 △加州大学伯克利分校 ▽马里兰大学 ♢阿卜杜拉国王科技大学 •…...
MySQL常用函数详解及SQL代码示例
MySQL常用函数详解及SQL代码示例 引言当前日期和时间函数字符串函数数学函数聚合函数结论 引言 MySQL作为一种广泛使用的关系型数据库管理系统,提供了丰富的内置函数来简化数据查询、处理和转换。掌握这些函数可以大大提高数据库操作的效率和准确性。本文将详细介绍…...
Unity教程(二十二)技能系统 分身技能
Unity开发2D类银河恶魔城游戏学习笔记 Unity教程(零)Unity和VS的使用相关内容 Unity教程(一)开始学习状态机 Unity教程(二)角色移动的实现 Unity教程(三)角色跳跃的实现 Unity教程&…...
RTSPtoWeb, 一个将rtsp转换成webrtc的开源项目
RTSPtoWeb是一个开源项目,旨在将RTSP流转换为可在现代web浏览器中消费的格式,如Media Source Extensions (MSE)、WebRtc或HLS。该项目完全使用golang编写,不依赖于ffmpeg或gstreamer,确保了高效的性能和轻量…...
AIAgent有哪些不错的开源平台
AIAgent领域有许多优秀的开源平台和框架,以下是一些值得推荐的开源平台: AutoGPT AutoGPT 是一个基于 OpenAI 的 GPT-4 和 GPT-3.5 大型语言模型的开源框架,能够根据用户给定的目标自动生成所需提示,并利用多种工具 API 执行多步骤…...
Java---JavaSpringMVC解析(1)
Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从⼀开始就包含在 Spring 框架中。它的正式名称“Spring Web MVC”来⾃其源模块的名称(Spring-webmvc),但它通常被称为"Spring MVC" 1.MVC MVC是Model View Controller的缩写&#…...