本文分两部分,一说前端路由的基本原理,二说 React Router 的实现原理 前端路由的基本原理 不说屁话,从时间线上讲,Web 应用原本是后端渲染,后来随着技术的发展,有了单页面应用,慢慢从后端渲染发展成前端渲染 在博客前端路由hash、history的实现 一问中我已经介绍过这两种模式 h ...
JSON.parse 是我们在前端开发中经常会用到API,如果我们要自己实现一个JSON.parse,我们应该怎么实现呢?今天我们就试着手写一个JSON Parser,了解下其内部实现原理。 JSON语法 JSON 是一种语法,用来序列化对象、数组、数值、字符串、布尔值和 null 。语法规则如下: ...
写在开头 点赞 + 收藏 学会 前言 最近在公司部署项目时遇上了一点关于nginx的问题,于是就想着写一篇关于nginx的文章... 主要给小白朋友分享,nginx是什么,nginx有什么用,最后到nginx的实际应用,项目部署。 nginx 公司项目刚刚上线,用户量少访问量 ...
安装 pnpm install javascript-obfuscator 安装之后 在项目根目录新建一个 obfuscator.js 在 obfuscator.js 写入以下代码 直接复制粘贴 ` /** @用法 vite打包完成后,使用命令行nodejs执行本文件: node obfuscato ...
本文介绍最新的 ECMAScript 安全赋值运算符提案以及相应的替代实现 前言 我们经常会跟 try/catch 打交道,但如果你写过 Go 或者 Rust 就会发现在这两种语言中是没有 try/catch 的,那么这些语言怎么进行错误捕获呢 Go: Error handling f, err : ...
说明 该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发)。 该系统文章,我会尽量说的非常详细,做到不管新手、老手都能看懂。 说明:OverallAuth2.0 是一个简单、易懂、功能强大的权限+可视化流程管理系统。 友情提醒:本篇文章是属于系列文章,看该 ...
前言 Vue3.5版本又将响应式给重构了,重构后的响应式系统主要有两部分组成: 双向链表和 版本计数。我们在前两篇文章中我们已经讲过了 双向链表和 版本计数,这篇文章我们来讲讲为什么这次重构能够让内存占用减少56%。 欧阳年底也要毕业了,加入欧阳的面试交流群(分享内推信息)、高质量vue源码交流群 ...
particle.js是一款流行的前端粒子动画库,通过简单的代码即可在网页上创建出绚丽多彩的粒子效果。本文将介绍particle.js的基本使用方法、动画效果的自定义技巧,以及如何优化性能和兼容性,帮助开发者快速上手并提升网站视觉效果。#前端开发 #粒子动画 #网页特效 ...
react聊天组件库:react-chat-elements 需求场景:用户可以通过多元的用户交互方式,如文件、图片、声音以及文字等输入相关信息,AI给出对应的回答 react-chat-element介绍 react-chat-elements 是一个专为React开发者设计的聊天组件库,旨在简化 ...
直接上答案 theme.ts配置中添加下面这行配置项 { editLinkPattern: ":repo/edit/:branch/:path",// 我是部署的GitLab,具体匹配规则可以照着代码管理工具改 } 原因 花了几个小时,最后在源码里找到答案,我们先来看官方文档中这个配置项的说明: 文 ...
在快速变化的软件开发领域,工具的选择往往能决定开发效率的高低。今天,我要介绍的是一款能够让你告别繁琐编程步骤,实现需求到代码快速转换的在线开发工具——TitanIDE。它凭借一键生成代码和一键解释代码的功能,为开发者们带来了前所未有的便捷体验。 一、前言 在传统的开发流程中,从需求分析到代码编写,再 ...
写在开头 点赞 + 收藏 学会 保姆级操作步骤,从我实际运行中的项目中摘取的所有相关代码展示如下: 1.Vue项目中安装插件ffmpeg 1.1 插件版本依赖配置 两个插件的版本 "@ffmpeg/core": "^0.10.0", "@ffmpeg/ffmpeg": "^0 ...
前言 前几天,我在开发前后端一体的项目时候,遇到了一个巨大的坑。这个是关于SpringBoot+Thyemleaf的。现象就是,我在本地开发环境是好的,正常访问某个页面,但是到了打成jar包后,部署到服务器之后,再访问那个页面,总是报错。这个报错是类似于Template might not exis ...
在日常的前端开发中,我们常常借助各种基于 Node.js 的脚手架工具来加速项目搭建和维护,比如 create-react-app 可以一键初始化一个 React 项目,eslint 则帮助我们保持代码的整洁和一致。而在公司内部,为了更好地满足特定业务的需求,我们往往会构建自己的脚手架工具,如自定义 ...
TypeScript基础(一)—— 交替合并字符串 题设:输入“abc”、“ef”,输出“aebfc”。 1、第一次尝试 function mergeAlternately(word1: string, word2: string): string { // 采用三元运算符 let max_len ...
一直以来,处理时间和日期的JavaScript库,选用的都是Momment.js。它的API清晰简单,使用方便灵巧,功能还特别齐全。 大师兄是Moment.js的重度使用者。凡是遇到时间和日期的操作,就把Moment.js引用上。直到有天我发现加载的moment.min.js大小有19.8KB,而我 ...
目录style标签的lang视图容器组件scroll-view的使用(滚动)组件swiper的使用(轮播)媒体组件组件image的使用(图片)路由与页面跳转navigatortabBar底部导航配置表单提交组件动态赋值子组件的属性字段propsVUE语法data 属性指令v-if/v-elsev-s ...
什么是雪碧图 雪碧图(CSS Sprites),是一种网页图像处理技术,它将多个小图标或图像合并成一个大的图像文件。这种方法允许浏览器通过一次HTTP请求加载多个图像,而不是为每个小图标单独发起请求。雪碧图通常用于网页设计中的图标、按钮和其他装饰性元素。 雪碧图其优点主要体现在: 1. 减少HTTP ...
目录浏览器和CSS规范浏览器发展史CSS发展史网页icon图标外部引入样式方式样式表的优先级选择器基本选择器通配选择器元素选择器类选择器ID选择器复合选择器交集选择器并集选择器后代选择器子代选择器兄弟选择器属性选择器伪类选择器动态伪类结构伪类:first-child:last-child为什么:la ...
关于主题只显示每天第一个博文的的bug 问题 在布置sakura博客园主题的时候,发现这个主题只会显示每一天发布的博文中最晚发布的,其他的就不发了,很奇怪。去去翻了这个主题作者的博文也说了有这bug,但由于这个主题一直没更新,所以也一直没修复。因为比较喜欢这个主题,也抱着学习的心态,就试试能不能把这 ...