background picture of the home page

欢迎来到cheems的博客

欢迎大家来cheems的博客

  • prev
  • next

前端调试速通

你是如何调试前端代码的? 打一个log?或者在浏览器打debugger就没了? 你是否羡慕后端哥们直接在编辑器内进行断点调试,无需打开浏览器F12来进行debugger? log大家自然都会,我们首先在浏览器中实现debugger 普遍的调试方案 打开 Chrome DevTools,在源代码/来源

thumbnail of the cover of the post

cheems-design解析三: 防删水印

antd,YYDS 大家先去antd看看,大佬们研发的防删水印是什么样的。 是不是嘎嘎酷。 我们按F12就可以看到其实现方法 base64图片内容

thumbnail of the cover of the post

cheems-design解析二: 监听dom

如果要监听一个普通 JS 对象的变化,我们会用 Object.defineProperty 或者 Proxy 而监听元素的属性和子节点的变化,我们可以用 MutationObserver: 我第一听说这个方法还是在nextTick 的实现上看到的 由于要模拟在DOM 更新后执行回调函数,所以要将包裹

thumbnail of the cover of the post

cheems-design整体简析

项目搭建 起名字 因为要发布到npm上面自己用,甚至给别人用,所以你的组件库名称不能和其他的npm包名重复,来NPM查询一下 首先去 npm 仓库查找curry-design,看有没有人在使用。。 然后我们起一个木有重命名的名字,并新建项目 创建项目 npx create-react-app 项目

thumbnail of the cover of the post

cheems-design解析一: 文本替换

预期效果 原本想法源自于自己群内一个哥们的非常简单的需求,大概效果就是有一个输入框,有一块渲染的文章,然后把输入的东西在文章中高亮。 我们第一反应是什么? oneRow(text, val) { if (text.indexOf(val) !== -1 && val !== '') {

thumbnail of the cover of the post

微前端-通信

我们使用过vue,了解两种常用的通信模式:观察者和发布 / 订阅模式。两者最主要的区别是一对多单向通信还是多对多双向通信的问题。使用我们要确定多个子应用之间互相是否需要通信,来决定使用哪种通信方式。 在微前端中往往需要实现多对多的双向通信模式,例如微应用之间实现通信,主应用和微应用之间实现通信,因此

thumbnail of the cover of the post

微前端-JS隔离

这个难度要比CSS隔离难一些了。要考虑的东西也非常多。 方案: 使用 WebAssembly 进行隔离,WebAssembly 会被限制运行在一个安全的沙箱执行环境中,但运行时不能直接调用 Web API 使用 Web Worker 进行隔离,每个 Worker 有自己独立的 Isolate 实例。

thumbnail of the cover of the post

微前端-CSS隔离

最快最简单的方法就是直接上iframe,天然实现的 CSS 隔离。但是由于隔离的太好了,导致iframe内的弹窗蒙层无法全屏,用户体验不好。于是就有其他实现CSS 隔离的方案。 CSS隔离方案 iframe隔离 scoped隔离,都是玩过VUE的,在style标签增加scoped后,就可以使得当前C

thumbnail of the cover of the post

认识微前端

微前端解决了哪些业务问题? 为啥需要微前端我曾经给旺旺做外包,那时候做过的一个后台项目是自己第一个微前端项目。那时候很多微前端技术栈还不成熟,所以使用iframe方案。 管理后台型类型的项目,这类项目往往页面重复率高。有很多公司为了降本增效,有采用过低代码(在开发周期紧张的项目中,低代码可以有效的解

thumbnail of the cover of the post