自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 跨域漏洞,我把前端线上搞崩溃了

跨域是指在 web 开发中,一个网页的源(origin)与另一个网页的源不同,即它们的协议、域名或端口至少有一个不同。跨域问题是由于浏览器的同源策略而产生的,它限制了一个网页中加载的资源只能来自同一个源,以防止恶意网站在未经允许的情况下访问其他网站的数据。不同域名:当页面的域名与请求的资源的域名不一致时,会触发跨域问题,如从页面请求资源来自。不同协议:如果页面使用了 https 协议加载,但试图请求非 https 资源,也会触发跨域问题。不同端口:如果页面加载的是,但试图请求资源来自。

2023-11-11 11:21:16 395 1

原创 还不会做配置管理?满分工程手把手教你!

​关注我,带你学点有用的分享一些企业级前端工程相关的经验,这一拖就拖了好长时间了,再拖估计得掉粉了。那么今天就开始聊前端工程的话题吧,咱先从配置管理讲起。这部分非常实用,你要是能帮你的团队把这块事情做漂亮了,那所有人都会对你刮目相看,不管是简历上,还是晋升答辩,都是一块不错的,可聊的内容。话不多说,直接进入正题。​

2023-11-10 17:42:43 247 1

原创 前端又出新框架了,你还学得动吗?

最近前端又出来一个新框架/库,名为nue.js。一周前的9.13号提交了第一个commit,到今天已超过2000个star。 翻译一下:Nue 是一个强大的 React、Vue、Next.js、Vite 和 Astro 替代品。它可能会改变您的web开发方式。Nue JS 是一个非常小的(压缩后 2.3kb)JavaScript 库,用于构建 Web 界面。 它是即将推出的 Nue 生态系统的核心。 它就像 Vue.js、React.js 或 Svelte,但没有hooks, effects, pro

2023-11-09 16:09:12 187 1

原创 仅“2k”字就能理解的async/await原理,摸个鱼的时间搞定它

今年想法呢,是输出一些文章,总不能干了几年活了,还是碌碌无为,躺平过日子。国庆那几天也刷了不少文章,看到了很多平台的前端打工人,都很卷的样子,那我今年也就卷一下子吧,腰断了就不卷了。

2023-11-08 11:38:00 347 1

原创 5K字 由浅入深聊聊Promise实现原理

大家好,我是一个有想法的前端。这几天再回顾基础知识时,对Promise有了较为深入的理解,那今天就来分享下怎么由浅入深的掌握Promise并且学会手写Promise如果写的有问题,欢迎大家指出问题,一起讨论,让我再打磨打磨希望大家支持一下,长文不易,记得给点个赞👍👍👍

2023-11-04 19:03:04 510 1

原创 我为面试所准备的100道面试题以及答案,不看要遭老罪喽

大家好,环境只是一个因素,它确实会影响大家找工作或者跳槽涨薪,但是影响不多,最重要的一个因素在于自己是否已经做好了准备。我呢为大家准备了百道面试题,为大家保驾护航,后续也会持续更新吧,毕竟还有新技术的出现。

2023-11-02 10:36:34 1289

原创 如何优雅地使用 Git

举个反例: 举个正例: 通过 查看 或 可查看已暂存文件和上次提交的区别合理使用分支,分支的好处:tag 的作用是对某个提交点打上标签,发布版本后打 tag,便于以后回滚特定版本,而不需要 revert。tag 是对某一版本的记录。和开发步骤类似一般解释为,也有解释为。 和 都可以整合两个分支的内容,最终结果没有任何区别,但是变基使得提交历史更加整洁。例如现在 dev 提交了一次,master 在此之后也提交了一次,两个分支的状态如下: 的结果: 的结果: 假设场景:从 dev 拉出分支

2023-11-01 08:34:03 189 1

原创 Git不要只会pull和push,试试这5条提高效率的命令

使用 Git 作为代码版本管理,早已是现在开发工程师必备的技能。可大多数工程师还是只会最基本的保存、拉取、推送,遇到一些commit管理的问题就束手无策,或者用一些不优雅的方式解决。本文分享我在开发工作中实践过的实用命令。这些都能够大大提高工作效率,还能解决不少疑难场景。下面会介绍命令,列出应用场景,手摸手教学使用,让同学们看完即学会。本文主要分享了5个在开发中实用的 Git 命令和设置短命令的方式。

2023-10-31 14:31:27 184 1

原创 从0到1搭建webpack5+vue2.7+ts脚手架

本文通过使用 webpack5 从0到1搭建项目脚手架,参考业内的很多最近实践。使用了 vue2.7+ts 提高了项目的整体可维护性,使用 esbuild-loader 以及 webpack5 的缓存提高了项目的整体构建速度。目前不足之处是,没有开发cli 交互,配置文件全部暴露,需要了解 webpack 的配置才能进行个性化配置,后续可进行抽象和封装,加入cli 交互。

2023-10-27 11:13:34 567 1

原创 协议 HTTP HTTPS SSL TLS SSL证书 跨域 (超级详细版)

会话保持技术的出现是因为HTTP 是一个无状态的协议,这一次请求和上一次请求是没有任何关系的,互相无法感知,上一次请求干了什么?这一次请求完全不知道,会话保持技术就是为了以一种第三方的设计实现http请求之间的联系,让请求之间能够相互感知。cookiesessioncookie和session的区别,用一个例子解释:封闭式管理的学校,如何进入校园?方式1.学校准备一本花名册,进门的时候挨个比对。方式2.学生办一张学生卡,持卡进出。

2023-10-26 09:01:52 1191

原创 开启严格模式的优点?

(3)关于使用废弃的 findDOMNode 方法的警告。(5)检测过时的 context API。(2)有关旧式字符串ref用法的警告。(1)识别不安全的生命周期组件。(4)检测意外的副作用。

2023-10-24 09:01:39 133

原创 为什么要学习react(react优势|react 有什么特性)

(5)React Native可以使用react语法开发移动端app。(4)声明式编程(不关注底层实现,调用提供的api就能实现功能)(1)注重数据、操作数据,减少dom的操作。(3)组件化开发,提高复用率,减少冗余代码。(2)虚拟dom,减少dom的回流和重绘。

2023-10-23 20:08:41 141

原创 React中setState详解

setState详解1. 不能直接修改 state 因为没有双向数据绑定,不会自动更新视图 2. 使用setState进行修改的时候是异步执行的 为什么 将多次状态修改 合并 成为1次,防止多次渲染 Object.assign 3. setState 第一种用法:对象式 通过合并防止多次渲染 第二种用法:回调函数 通过维护一个队列,统一处理回调,合并多次渲染 4. setState

2023-10-12 11:00:00 216

原创 key的作用

这种做法,在没有key的情况下,所有的li都需要进行修改当子元素(这里的li)拥有key时,React使用key来匹配原有树上的子元素以及最新树上的子元素:在下面这种场景下,key为111和222的元素仅仅进行位移,不需要进行任何的修改;将key为333的元素插入到最前面的位置即可;

2023-10-11 16:28:03 32

原创 react中的shouldComponentUpdate优化性能

React15.3中新加了一个PureComponent类,取代之前的PureRenderMixin , PureComponent可以进行React性能优化,减少不必要的render渲染次数,使用时只要把继承类从Component换成PureComponent。

2023-10-11 12:02:48 205

原创 vue2 watch侦听器

一个是deep深度监听 因为可能嵌套层级多 不设置的话默认开启一个浅层次的监听。定义两个标签 一个是展示的 一个点击按钮 点击按钮数字加1 要实现点击实时侦听器。传递的参数 跟简写模式一样。完整模式 : 一个是立即监听immediate。简写模式 :传两个参数。

2023-09-28 09:33:20 103

原创 vue2.0和vue3.0响应式原理

通过Proxy(代理): 拦截对象中任意属性的变化, 包括:属性值的读写、属性的添加、属性的删除等。数组类型:通过重写更新数组的一系列方法来实现拦截。(对数组的变更方法进行了包裹)。通过Reflect(反射): 对源对象的属性进行操作。直接通过下标修改数组, 界面不会自动更新。对属性的读取、修改进行拦截(数据劫持)。// 拦截设置属性值或添加新属性。新增属性、删除属性, 界面不会更新。// 拦截读取属性值。

2023-09-27 10:38:26 116 1

原创 创建vue3.0工程(项目)

npm install -g @vue/cli 安装升级@vue/cli。npm缓存太重了 /没有配置淘宝 镜像 / 所处位置无法访问npm / 网络状态不太稳定。vue --version 查看@vue/cli 版本号 第二种方法。vue - V 查看 @vue/cli 版本号 第一种方法。vue create vue3 (你的项目名称) 创建项目。1.使用vue-cli创建(版本号@vue/cli在4.5.0以上)选第一个 v3 babel eslint。

2023-09-21 15:10:35 38

原创 vue的严格模式报错 怎样关闭严格模式

关闭严格模式

2023-09-21 14:40:03 386

原创 vue组件通信方式有哪些

2.子传父:在父组件中给子组通过v-on添加自定义属性事件,子组件通过this.$emit()触发父组件中定义的事件,参数1是传递的函数,参数2是传递的参数。6. $refs:给子组件添加ref属性,通过$refs获取子组件实例,可以在父组件中获取子组件的数据。3.全局事件总线:可以实现任意组件通讯: $on注册事件,$emit触发事件,$off解绑事件。1.父传子:父组件的子组件模板上绑定一个自定义属性,子组件通过porps接收数据。4.$parent $children:父子组件相互调用。

2023-09-13 09:22:03 34 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除