摘要:
啥是JWT JWT是 Json Web Token 的简写,是目前最流行的跨域认证(单点登录)的解决方案。 原理 客户端登录,提交 账户 + 密码 到服务端 服务端验证 账户 + 密码 的正确性。通过后。将用户信息加密生成 token 服务端将 token 返回客户端 客户端将 token 存储在 阅读全文
摘要:
npm和yarn哪里不一样 npm是啥? npm是javascript的包管理工具,是前端模块化下的一个标志性产物。简单地说,就是通过npm下载模块,复用已有的代码,提高工作效率。 其实在最早期的npm版本(npm v2),npm的设计可以说是非常的简单,在安装依赖的时候会将依赖放到 node_mo 阅读全文
摘要:
页面的回流(Reflow)和重绘(Repaint) 浏览器使用流式布局模型 (Flow Based Layout)。 浏览器会把HTML解析成DOM,把CSS解析成CSSOM,DOM和CSSOM合并就产生了Render Tree。 有了RenderTree,我们就知道了所有节点的样式,然后计算他们在 阅读全文
摘要:
对于Event Loop的理解 JavaScript 最早是用于写网页交互逻辑的,为了避免多线程同时修改 dom 的同步问题,设计成了单线程,又为了解决单线程的阻塞问题,加了一层调度逻辑,也就是 Loop 循环和 Task 队列,把阻塞的逻辑放到其他线程跑,从而支持了异步。然后为了支持高优先级的任务 阅读全文
摘要:
fetch和ajax、axios对比 axios和ajax是对XMLHttpRequest的封装,而fetch是一种新的获取资源的接口方式,并不是对XMLHttpRequest的封装。 它们最大的不同点在于Fetch是浏览器原生支持,而Axios需要引入Axios库。ajax需要引入Jquery 用 阅读全文
摘要:
对于Monorepo的理解 传统的项目管理方式就是一个项目便新建一个代码仓库地址。 Monorepo核心就是把所有项目放在一个代码仓库中进行管理。然后不同 项目使用不同的文件夹进行管理,一般情况下,以Vue3为例Monorepo的项目架构是这样 ├── packages | ├── pkg1 | | 阅读全文
摘要:
如何使用node.js编写Cli命令行 作为前端在日常开发中、经常会使用各式各样的cli工具,例如vue-cli,gulp-cli,angular-cli等。其实就是在cmd命令行。了解这些 命令行是如何生成、编写是很有必要的。 第一步:运行编写的js代码 基于NodeJS编写的Cli其实就是Nod 阅读全文
摘要:
集合是爷爷 列表是爸爸 数组是儿子 链表是二儿子 阅读全文
摘要:
区别 CommonJs模块输出的是一个值的拷贝,ES6模块输出的是值的引用 CommonJs模块是运行时加载,ES6模块是编译时输出接口。 原理 ES6 模块的运行机制与 CommonJS 不一样。JS 引擎对脚本静态分析的时候,遇到模块加载命令import,就会生成一个只读引用。等到脚本真正执行时 阅读全文
摘要:
概念 this指的是当前执行上下文。 this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象 理解了上面this的定义。下面几种常见的场景也就不难理解了。 this在严格模式下。和非严格模式下表现也不尽相同。 全局环境中 阅读全文