• 自动化构建

    自动化构建方案通过自动化手段 提高效率 可靠性 构建工具: grunt webpack gulp vite rollup esbuild swc turbopack 编译 测试 部署 区分环境 构建的整体设计思路 构建工具的选择 实际业务触发 UI...
  • 正则表达式

    正则表达式正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。具有强大的模式匹配和文本检索与替换功能。 正则表达式的定义在 J...
  • AST-抽象语法树

    编译器的底层原理 AST编译器介绍:它会将用某种编程语言写成的源代码,转换成另一种编程语言。编译器(compiler)是一种用于将源代码(通常是高级编程语言编写的代码)翻译成目标代码(如机器语言或中间代码)的软件工具。目标代码通常可以直接在计算机上执...
  • 原型和原型链

    原型什么是原型?什么是构造函数、实例原型、实例?它们的关系是什么? 原型(Prototype)每个 JavaScript 对象都有一个内部链接到另一个对象的引用,这个对象被称为原型。当试图访问一个对象的属性时,JavaScript 会首先在这个对象自...
  • 强缓存和协商缓存

    缓存为了减少资源请求次数,加快资源访问速度,浏览器会对资源文件如图片、css文件、js文件等进行缓存,而浏览器缓存策略又分为强缓存和协商缓存。 强缓存强缓存是指浏览器在缓存有效期内直接从本地缓存中读取资源,而不与服务器进行任何通信。强缓存的实现依赖于...
  • 前端路由hash和history

    前端路由hash和history hash模式使用window.location.hash属性以及onhashchange事件,实现监听浏览器地址的hash值变化,执行相应的js切换网页 属性 含义 例子 location.href 完整...
  • 前端埋点与全链路

    什么是埋点:​ 前端埋点是一种用于收集用户在网站或应用程序上的行为数据的方法。这些数据可以帮助企业了解用户的行为模式、使用习惯,并对产品进行优化。 为什么要埋点: 流量监测(按时间空间维度分析,留存分析,转化分析)。 构建行为路径,获取用户的全链路信...
  • node_modules困境以及pnpm

    node_modules的设计虽然能满足大部分的场景,但是其仍然存在着种种缺陷由于每个项目可能依赖成百上千个小模块,node_modules 目录的体积往往非常庞大,动辄几百MB甚至超过1GB。这不仅增加了存储负担,也影响了项目的克隆、备份和部署速度...
  • MAC 内网穿透 cpolar

    介绍如何通过使用cpolar来完成将内网下的本地服务器通过安全隧道暴露至公网,完成公网正常访问内网服务。目前我的本地web服务只能在局域网内访问,使用cpolar内网穿透可以将本地服务映射到公网,实现公网用户也可以访问到本地服务,无需公网IP,也无...
1181920