如何在国外网站上做外贸网站页面权重

web/2025/10/5 4:23:42/文章来源:
如何在国外网站上做外贸,网站页面权重,公众号怎么做临时链接,大一网站开发体会文章目录 Spring Cloud服务注册与发现EurekaServer 启动服务注册服务发现 NacosServer启动 (nacos2.2.0)服务注册服务发现服务集群命名空间配置中心集群搭建 负载均衡RPC远程过程调用Feign使用 网关路由断言工厂网关过滤工厂跨域处理全局跨域配置单个微服务跨域配置 限流 熔断 … 文章目录 Spring Cloud服务注册与发现EurekaServer 启动服务注册服务发现 NacosServer启动 (nacos2.2.0)服务注册服务发现服务集群命名空间配置中心集群搭建 负载均衡RPC远程过程调用Feign使用 网关路由断言工厂网关过滤工厂跨域处理全局跨域配置单个微服务跨域配置 限流 熔断 降级 Spring Cloud 与springboot版本对应关系 Springcloud-alibaba版本对应 https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E 使用Springboot 2.6.13 springcloud 2021.0.1 spring-cloud-alibaba 2021.0.5.0 propertiesspring-boot.version2.6.13/spring-boot.versionspring-cloud.version2021.0.1/spring-cloud.versionspring-cloud-alibaba.version2021.0.5.0/spring-cloud-alibaba.version/properties dependencyManagementdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion${spring-boot.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion${spring-cloud.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion${spring-cloud-alibaba.version}/versiontypepom/typescopeimport/scope/dependency/dependencies /dependencyManagement 服务注册与发现 Eureka Server 启动 引入依赖 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-server/artifactId /dependency2.在启动类上添加注解 EnableEurekaServer 3.配置文件 application.properties spring.application.nameeureka-app server.port20020 eureka.client.service-url.defaultZonehttp://127.0.0.1:20020/eureka4.启动后访问 http://127.0.0.1:20020 服务注册 新建服务1 1.引入依赖 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId /dependency2.添加配置 spring.application.namelink1 server.port9000 eureka.client.service-url.defaultZonehttp://127.0.0.1:20020/eureka3.创建controller RequestMapping(service1) RestController public class Link1Controller {GetMapping(link1)public String link1(){return 微服务链路1执行完毕;} }重复以上,在创建一个服务2 spring.application.namelink2 server.port9001 eureka.client.service-url.defaultZonehttp://127.0.0.1:20020/eurekaRequestMapping(service2) RestController public class Link2Controller {GetMapping(link2)public String link2(){return 微服务链路2执行完毕;} }测试可以访问以上两个服务的接口,查看eureka 发现注册成功 服务发现 跨服务调用使用应用层的http协议发送请求, 使用RestTemplate进行 注入RestTemplate Bean LoadBalanced public RestTemplate getRestTemplate(){return new RestTemplate(); }编写新的controller RequestMapping(service1) RestController public class Link1Controller {Autowiredprivate RestTemplate restTemplate;GetMapping(link1)public String link1(){String url http://link2/service2/link2;String res restTemplate.getForObject(url, String.class);return 微服务链路1执行完毕res;}}注意: 必须在restTemplate上添加LoadBalanced注解,否则无法将服务名解析为ip:port并使用ribbon进行负载均衡 抛出UnknownHostExecption异常 报错信息如下: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.web.client.ResourceAccessException: I/O error on GET request for http://link2/service/link2: link2; nested exception is java.net.UnknownHostException: link2] with root causejava.net.UnknownHostException: link2at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) ~[na:1.8.0_392]at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) ~[na:1.8.0_392]at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_392]at java.net.Socket.connect(Socket.java:607) ~[na:1.8.0_392]at java.net.Socket.connect(Socket.java:556) ~[na:1.8.0_392]Nacos Server启动 (nacos2.2.0) 修改配置 application.properties spring.datasource.platformmysql### Count of DB: db.num1### Connect URL of DB: db.url.0jdbc:mysql://127.0.0.1:3306/nacos?characterEncodingutf8connectTimeout1000socketTimeout3000autoReconnecttrueuseUnicodetrueuseSSLfalseserverTimezoneUTC db.user.0root db.password.0root创建数据库nacos, 执行该目录下的sql文件创建表结构 单机启动命令 startup.cmd -m standalone服务注册 引入依赖 dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId /dependency添加配置 spring.application.namelink1 server.port9002 spring.cloud.nacos.server-addr127.0.0.1:88483.编写controller并启动, 访问 http://localhostL8848/nacos 服务发现 https://blog.csdn.net/weixin_43887184/article/details/124036205 必须添加loadbalancer依赖,否则无法远程调用 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-loadbalancer/artifactId /dependency服务集群 spring.cloud.nacos.discovery.cluster-namexian命名空间 不同环境相互隔离 spring.cloud.nacos.discovery.namespaceba332e10-ef24-4e05-b1c2-3f903df60fde配置中心 引入依赖 dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-config/artifactId /dependency在nacos中编写配置信息: Data ID: 应用名-profile.后缀 (yaml 或者 properties) 添加bootstrap依赖, spring cloud2.4后,不在优先读取bootstrap文件 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-bootstrap/artifactId /dependency编写bootstrap.properties文件, 包括应用名 profile 文件后缀, 配置文件所在命名空间 spring.application.namelink1 spring.profiles.activedev spring.cloud.nacos.config.file-extensionproperties spring.cloud.nacos.config.namespaceba332e10-ef24-4e05-b1c2-3f903df60fde prop2Frombootstrap_yaml编写controller, 使用Value注入所写配置信息并测试 Slf4j RequestMapping(service1) RestController public class Link1Controller {Autowiredprivate RestTemplate restTemplate;Value(${propFrom})private String p1;Value(${prop2From})private String p2;Value(${prop3From})private String p3;GetMapping(link1)public String link1(){String url http://link2/service2/link2;String res restTemplate.getForObject(url, String.class);return 微服务链路1执行完毕res;}GetMapping(getProp)public String getP(){log.info(p1);log.info(p2);log.info(p3);return p1p2p3;} } 查看日志,或者接口返回信息即可看到成功读取 2024-01-16 16:52:08.010 INFO 14176 --- [nio-9002-exec-1] org.zbq.controller.Link1Controller : nacos8848 2024-01-16 16:52:08.011 INFO 14176 --- [nio-9002-exec-1] org.zbq.controller.Link1Controller : bootstrap_yaml 2024-01-16 16:52:08.011 INFO 14176 --- [nio-9002-exec-1] org.zbq.controller.Link1Controller : app_yamlnacos8848为nacos中的配置propFrom,成功注入到p1 prop2From为bootstrap中的自定义配置 prop3From为application.properties中定义 配置动态更新方式: 使用RefreshScope注解,作用于注入远程配置的类上不使用Value注解, 使用ConfigurationProperties注解代替,无须RefreshScope即可动态更新 未成功 多环境配置共享 微服务启动会从nacos读取以下配置: [spring.application.name]-[spring.profiles.active].yaml[spring.application.name].yaml (共享配置可以放在这里) 多个不同微服务配置共享 配置信息: spring.cloud.nacos.config.extension-configs[0].data-idextend_common.properties spring.cloud.nacos.config.shared-configs[0].data-idshared_common.propertiesSlf4j RequestMapping(service) RestController RefreshScope //ConfigurationProperties public class Link1Controller {Autowiredprivate RestTemplate restTemplate;Value(${propFrom})private String p1;Value(${prop2From})private String p2;Value(${prop3From})private String p3;Value(${prop4From})private String p4;Value(${prop5From})private String p5;Value(${prop6From})private String p6;GetMapping(link1)public String link1(){String url http://link2/service/link2;String res restTemplate.getForObject(url, String.class);return 微服务链路1执行完毕res;}GetMapping(getProp)public String getP(){log.info(p1);//log.info(propFrom);log.info(p2);log.info(p3);log.info(p4);log.info(p5);log.info(p6);return p1p2p3p4p5p6;//return propFromp2p3;}}访问getProp接口, 日志如下: 2024-01-17 10:41:20.565 INFO 6636 --- [nio-9002-exec-1] org.zbq.controller.Link1Controller : nacos_props 2024-01-17 10:41:20.565 INFO 6636 --- [nio-9002-exec-1] org.zbq.controller.Link1Controller : bootstrap_yaml 2024-01-17 10:41:20.565 INFO 6636 --- [nio-9002-exec-1] org.zbq.controller.Link1Controller : app_yaml 2024-01-17 10:41:20.565 INFO 6636 --- [nio-9002-exec-1] org.zbq.controller.Link1Controller : link1_props 2024-01-17 10:41:20.566 INFO 6636 --- [nio-9002-exec-1] org.zbq.controller.Link1Controller : extend_common 2024-01-17 10:41:20.566 INFO 6636 --- [nio-9002-exec-1] org.zbq.controller.Link1Controller : shared_common其中p1来自nacos中的 link1-dev.properties, p2来自本地bootstrap.properties, p3来自本地application.properties p4来自nacos中link1.properties p5来自nacos中extend_common.properties,p6来自nacos中shared_common.properties 集群搭建 在conf目录下添加cluster.conf文件,内容为: 127.0.0.1:8846 127.0.0.1:8847 127.0.0.1:8848将修改好的nacos目录复制2份,修改复制nacos中application.properties端口为8846和8847 依次启动即可 启动命令 startup.cmd启动中可能会报错: org.springframework.beans.factory.BeanCreationException: Error creating bean with name grpcClusterServer: Invocation of init method failed; nested exception is java.io.IOException: Failed to bind这是由于: 即1个8848端口的nacos还会占用9848,9849,7848端口, 因此重新配置cluster.conf文件以及设置nacos端口 127.0.0.1:8844 127.0.0.1:8846 127.0.0.1:8848负载均衡 eureka包下已经默认有loadbalancer依赖 从 Spring Cloud 2020.0.0-M1 开始, 移除ribbon 目前只有两个默认的策略 轮询和随机 RPC远程过程调用 Feign使用 引入依赖 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId /dependency2.启动类添加 EnableFeignClients注解 3.编写接口 (复用Spring MVC的注解) FeignClient(link2) public interface Link2Client {GetMapping(/service/link2)String getLink2(); }4.在controller中注入并使用 RequestMapping(service1) RestController RefreshScope public class Link1Controller {Autowiredprivate Link2Client link2Client;GetMapping(link1)public String link1(){String res link2Client.getLink2();return 微服务链路1执行完毕 res;} } 在当前版本下,feign默认开启使用Apache HttpClient作为底层,使用默认配置即可 网关 Spring Cloud Gateway 网关作用 鉴权路由限流 使用: 1.引入依赖 (只要是调用其他服务必须引loadbalancer, 否则无法发现服务) dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId /dependency dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-gateway/artifactId /dependency dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-loadbalancer/artifactId /dependency2.编写配置文件 spring:application:name: gatewaycloud:nacos:server-addr: http://127.0.0.1:8848discovery:namespace: ba332e10-ef24-4e05-b1c2-3f903df60fdecluster-name: xiangateway:routes:- id: link1uri: lb://link1predicates:- Path/service1/**- id: link2uri: lb://link2predicates:- Path/service2/**server:port: 10001访问: http://127.0.0.1:10001/service1/link1 和 http://127.0.0.1:10001/service2/link2 访问成功 路由断言工厂 (更详细的使用 https://www.hxstrive.com/subject/gateway/2605.htm) After 接受一个UTC格式的日期时间格式参数,表示在该时间点之后允许路由 spring:cloud:gateway:routes:- id: after_routeuri: https://example.orgpredicates:- After2022-03-13T00:54:30.87708:00[Asia/Shanghai] Before 参数同上, 表示某个时间点之前允许路由 spring:cloud:gateway:routes:- id: before_routeuri: https://example.orgpredicates:- Before2024-05-20T00:54:30.87708:00[Asia/Shanghai]Between 跟两个参数, datetime1 datetime2 表示在这个时间段内允许路由 spring:cloud:gateway:routes:- id: between_routeuri: https://example.orgpredicates:- Between2024-05-20T00:00:00.00008:00[Asia/Shanghai],2024-05-21T00:00:00.00008:00[Asia/Shanghai]Cookie 接两个参数, key 和 value, value可以为正则表达式, 即只有携带该cookie key且value匹配才可以路由 spring:cloud:gateway:routes:- id: cookie_routeuri: https://example.orgpredicates:- Cookiechocolate, ch.pHeader spring:cloud:gateway:routes:- id: header_routeuri: http://example.orgpredicates:- HeaderX-Request-Id, \d 6.Host (请求头中) spring:cloud:gateway:routes:- id: host_routeuri: https://example.orgpredicates:- Host**.somehost.org,**.anotherhost.org7.Method spring:cloud:gateway:routes:- id: method_routeuri: https://example.orgpredicates:- MethodGET,POST上述示例表示只有 GET和POST请求允许路由 8.Path 根据请求路径匹配 spring:gateway:routes:- id: link1uri: lb://link1predicates:- Path/service1/**- id: link2uri: lb://link2predicates:- Path/service2/**9.Query 请求参数中含有名为green的参数即可 spring:cloud:gateway:routes:- id: query_routeuri: https://example.orgpredicates:- Querygreen请求参数中有名为red, 值与gree.匹配的参数时才可访问 spring:cloud:gateway:routes:- id: query_routeuri: https://example.orgpredicates:- Queryred, gree.10.RemoteAddr 位于该网段下的ip才可访问 spring:cloud:gateway:routes:- id: remoteaddr_routeuri: https://example.orgpredicates:- RemoteAddr192.168.1.1/2411.Weight spring:cloud:gateway:routes:- id: weight_highuri: https://weighthigh.orgpredicates:- Weightgroup1, 8- id: weight_lowuri: https://weightlow.orgpredicates:- Weightgroup1, 280%请求访问weighthigh.org, 20%请求访问weightlow.org 网关过滤工厂 AddRequestHeaderRemoveRequestHeaderAddResponseHeaderRemoveResponseHeaderRequestRateLimiter … 更多请参考https://docs.spring.io/spring-cloud-gateway/reference/spring-cloud-gateway/gatewayfilter-factories.html 默认过滤器,对所有的路由生效 spring:cloud:gateway:default-filters:- AddResponseHeaderX-Response-Default-Red, Default-Blue- PrefixPath/httpbin全局过滤器 自定义编码实现 Component Order(-1) public class CustomGlobalFilter implements GlobalFilter {Overridepublic MonoVoid filter(ServerWebExchange exchange, GatewayFilterChain chain) {return null;} }过滤器 order值越小,优先级越高 order值相同时, 顺序为: defaultFilter - 路由过滤器 - GlobalFilter 跨域处理 全局跨域配置 spring:cloud:gateway:globalcors:cors-configurations:[/**]:allowedOrigins: https://docs.spring.ioallowedMethods:- GET/** 表示作用于所有请求allowedOrigins: 允许哪些网站的跨域请求allowedMethods: 允许跨域的请求方式 单个微服务跨域配置 spring:cloud:gateway:routes:- id: cors_routeuri: https://example.orgpredicates:- Path/service/**metadata:corsallowedOrigins: *allowedMethods:- GET- POSTallowedHeaders: *maxAge: 30限流 熔断 降级

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

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

相关文章

丹东淘宝做网站上海旅游必去景点推荐

接触了百度地图开发平台半个月了,这2天试着模仿了微信给好友发送位置功能,对百度地图的操作能力又上了一个台阶我在实现这个功能的时候,遇到一些困难,可能也是别人将会遇到的困难,特在此列出1、在微信发送功能中&#…

公司网站设计策划案杭州正规企业网站建设

毫不负责任的说,你和数据科学家最大的鸿沟,就差一个SQL语言:)入门后,后面的事情就简单了为了帮大家尽快入门Hive SQL、学会提数和分析,实现在大数据领域大干一场的愿望,帮你准备好了数据,准备好…

怀化市优化办电话seo是什么意思职业

spring防止爬虫Spring Security可以为您做很多事情。 帐户被封锁,密码盐。 但是蛮力阻断剂呢? 那是你必须自己做的。 幸运的是,Spring是一个非常灵活的框架,因此对其进行配置并不是什么大问题。 让我向您展示一些如何针对Grai…

淄博网站外包网站分为哪些结构

题目描述 给定一段“密文”字符串 s,其中字符都是经过“密码本”映射的,现需要将“密文”解密并输出。 映射的规则(a ~ i)分别用(1 ~ 9)表示;(j ~ z)分别用("10*" ~ "26*")表示。 约束:映射始终唯一。 输入描述 “密文”字符串 输出描述 …

厦门网站制作开发收费如何做kindle电子书下载网站

目录 1.监测的背景及意义 1.1监测背景 1.2监测意义 2.系统介绍及特点 2.1系统介绍 2.2系统特点 3.系统设计 3.1监测内容 3.2总体介绍 3.3详细设计 3.3.1垂直度监测 3.3.2水平位移、沉降监测 3.3.3环境监测 3.3.4应力应变监测 3.3.5裂缝监测 3.3.6云平台综合在线…

个人博客网站开发的背景上海软件定制开发

在Linux系统下,这个虚拟内存就被叫做swap。Linux swap分区是有限制的。在安装操作系统的时候,安装向导会提示用户需要创建多少的SWaP空间。通常情况下,SWaP比较合适的大小为物理内存的1-2倍。1. 早期的linux对虚拟内存的限制linux2.2以前的内…

外贸建站哪家公司好东莞整站优化推广公司找火速

点击蓝字关注我们我相信很多人都遇到选择的事情&#xff0c;比较正常的就是&#xff0c;我拿了两个offer要如何选择。用下面这段C代码挺好的&#xff0c;你可以自己加上自己喜欢的判断。#include<stdio.h> #include<stdlib.h> #include<time.h>int main() {i…

淄博网站建设培训班中国建设通网站

目录 1.概述2.结构3.实现3.1.子系统类3.2.外观类3.3.测试 4.优缺点5.使用场景6.源码解析 1.概述 &#xff08;1&#xff09;有些人可能炒过股票&#xff0c;但其实大部分人都不太懂&#xff0c;这种没有足够了解证券知识的情况下做股票是很容易亏钱的&#xff0c;刚开始炒股肯…

seo网站快速ps网站页面设计教程

文章目录 RocketMQ可视化工具1.github上下载2.修改参数3.运行4.打包5.出错6.解决7.重试8.再解决9.很奇怪运行没错&#xff0c;但是测试错啦10.不想深究&#xff0c;直接跳过测试11.展示成功 RocketMQ可视化工具 1.github上下载 下载地址 https://github.com/apache/rocketmq-…

各大搜索引擎网站登录入口学校网站建设有限公司

import React, { useState } from react;// 定义一个简单的函数式组件 function Counter() {// 使用 useState hook 来创建一个状态变量 count&#xff0c;并提供修改该状态的函数 setCountconst [count, setCount] useState(0);// 在点击按钮时增加计数器的值const increment…

乡镇可以做门户网站外贸推广网站哪家

Java提供了不同的接口&#xff0c;使您可以修改TestNG行为。 这些接口在Selenium WebDriver中进一步称为TestNG侦听器。 TestNG Listeners还允许您根据项目要求自定义测试日志或报告。 Selenium WebDriver中的TestNG侦听器是侦听某些事件并跟踪测试执行情况的模块&#xff0c;…

网站开发技术一般需要什么语言小说排行榜2020前十名

题目传送门&#xff1a;洛谷P3835。 题意简述&#xff1a; 题面说的很清楚了。 题解&#xff1a; 考虑建立一棵每个节点都表示一个版本的树。 以初始版本 \(0\) 为根。对于第 \(i\) 个操作&#xff0c;从 \(v_i\) 向 \(i\) 连一条边&#xff0c;而边权则是 \(opt_i\) 和 \(x_i\…

大型建站公司建设中网站如何上传图片

2019独角兽企业重金招聘Python工程师标准>>> 微服务架构技能 博客分类&#xff1a; 架构 &#xff08;StuQ 微服务技能图谱&#xff09; 2课程简介 本课程分为基础篇和高级篇两部分&#xff0c;旨在通过完整的案例&#xff0c;呈现微服务的开发、测试、构建、部署、…

网站建设开题报告设计扬州建设工程交易网

写在前面 好久没有写博客了, 中间忙了一堆杂七杂八的事情...工作, 情感, 未来, 人生... 下面是正文 一直要写一个视频播放器, 好练练手. 这个app, 从年前写到现在, 终于算弄出了样子, 0.0版本. (不得不说, googleVPN值得拥有, android developer网站, android sdk samples, sta…

石材做网站细节云南网上办事大厅官网

目录 含义 七种事务传播机制 1.REQUIRED&#xff08;默认&#xff09; 2.REQUIRES_NEW 3.SUPPORTS 4.NOT_SUPPORTED 5.MANDATORY 6.NEVER 7.NESTED 含义 Spring事务的传播机制是指在多个事务方法相互调用时&#xff0c;如何处理这些事务的传播行为。对应七种事务传播行为…

建一个公司网站多少钱网站建设+人员+年终总结

项目场景&#xff1a; 在使用Stable diffusion webui时&#xff0c;使用扩展列表出现错误 问题描述 点击loadfrom后&#xff0c;出现加载扩展列表报错 原因分析&#xff1a; 下载的扩展的时候&#xff0c;都是github 的url&#xff0c;需要科学上网&#xff0c;如果不能科学…

蒙古文网站建设西红柿怎么做网站

损失函数和目标函数定义 损失函数是用于衡量模型在训练过程中预测结果与实际结果之间的差异的函数。它通过计算模型的预测值与实际值之间的距离或差异来 quantitatively 表示模型的性能好坏。损失函数通常被用作优化算法(如梯度下降)的目标函数,通过最小化损失函数来调整模…

公司网站建设怎么wordpress 短代码 if is single

一、概述 一个JVM实例只存在一个堆内存&#xff0c;堆内存的大小是可以手动调节的。类加载器读取了类文件后&#xff0c;需要把类、方法、常变量放到堆内存中&#xff0c;保存所有引用类型的真实信息&#xff0c;以方便执行器执行&#xff0c;堆内存分为三个部分&#xff0c;即…

网站ftp用户名和密码wordpress主题文章页

LLM 是利用深度学习和大数据训练的人工智能系统&#xff0c;专门设计来理解、生成和回应自然语言。这些模型通过分析大量的文本数据来学习语言的结构和用法&#xff0c;从而能够执行各种语言相关任务。以 GPT 系列为代表&#xff0c;LLM 以其在自然语言处理领域的卓越表现&…

山西龙采网站建设合同编程培训加盟

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…