前端基础回顾-6-Node 这是前端基础回顾的第六篇,记录一下Node的相关问题。 开始 __dirname 和 process.cwd() 区别 假设当前在/Users/daniel/development/project/output.js文件中输出上述两个值 接着定位到/Users/daniel/development下执行output.js 输出如下结果 __dirname /Users/daniel/develo 2023-05-17 面试 basic
qiankun项目搭建实践 这篇写一半不想写了,别看了(`へ´*)ノ 介绍 什么是微前端? 微前端是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将单页面前端应用由单一的单体应用转变为多个小型前端应用聚合为一的应用。各个前端应用还可以独立开发、独立部署。同时,它们也可以在共享组件的同时进行并行开发——这些组件可以通过NPM或者Git Tag、Git Submodule来管理。 为什么要使用微前端? 各个子项 2023-04-27 前端 front
todo-list-问题汇总 todo-list-问题汇总 介绍 前段时间刚刚完成了手绘风格的ToDoList的Demo,当中遇到了不少的问题,简单在这里做一下记录。 开始 几个关键的包: roughjs 用于绘制手绘风格的图形,此项目为下面wired-elements的基础,并且也是万star⭐️项目excalidraw的基础。 只要简单的几行代码就能实现相关图形的绘制。12345678// canvas const rc 2023-04-19 前端 frontend
前端基础回顾-4-React 这是前端基础回顾的第四篇,记录一下React的相关问题。 开始 事件机制 react内部定义了一套事件机制,帮助 - 抹平各个浏览器的差异 - 方便管理 react16存在事件池的概念,帮助缓存事件对象,减少性能消耗。 通过内部的事务实现各种扩展。 统一将事件绑定在document上,先捕获后冒泡。 因为存在事件池的概念,如果回调中存在异步,则可能无法获取到event对象。 class生命周期 2023-02-17 面试 basic
前端基础回顾-5-Webpack 这是前端基础回顾的第五篇,记录一下Webpack的相关问题。 开始 结束 结束🔚。 参考资料 做了一份前端面试复习计划,保熟~ 当面试官问Webpack的时候他想知道什么 简单易懂的 webpack 打包后 JS 的运行过程 Webpack手写loader和plugin Webpack HMR 原理解析 「吐血整理」再来一打Webpack面试题 2023-02-17 面试 basic
前端基础回顾-3-手写源码 这是前端基础回顾的第三篇,记录一下一些手写源码的例子。 开始 深拷贝 12345678910111213141516171819function deepClone(object, map=new Map()) { if(typeof object !== 'object') { return object } if(map.get( 2023-02-15 面试 basic
前端基础回顾-2-简单知识点 这是前端基础回顾的第二篇,记录一下一些简单的知识点,仅仅用于速记,详细的还是查看具体的一些文章吧。 开始 HTML 从浏览器地址栏输入 url 到请求返回发生了什么 url解析、缓存、dns解析、tcp链接、http请求、响应、渲染。 三次握手、四次挥手 三次握手 客户端:我要发送 服务端:接收到客户端信息 客户端:接收到服务端信息 四次挥手 客户端:我要关闭 服务端:接收到客户端信息 2023-02-14 面试 basic
前端基础回顾-1-原型和原型链 兜兜转转工作了也有快两年了,最终还是决定拾起当初的js基础。 毕竟完全理解它才能更加深入前端这个行业,技术才能有更大的突破。 本文是重学基础的第一篇,关于原型和原型链。 开始 最近想尝试阅读一下axios的源码,参考大佬的架构文章,在看到第一个函数时就有点吃力 😓。 1234567891011121314151617181920212223function createInstance(defa 2023-01-15 面试 basic
前端项目gh-pages部署 前端项目gh-pages部署 开始 最近的自己项目需要部署到github-pages,需要用到gh-pages这个包。 命令行 安装依赖 yarn add gh-pages -D package添加命令 deploy: gh-pages -d dist 配置 因为项目使用的是github actions,故在yml配置文件中添加。 123- name: Deploy 🚀 run: | 2023-01-14 部署 deploy
umi环境变量 umi环境变量 开始 umi平常都有用,关于他的环境变量,这里做一个踩坑记录。 自定义环境变量很容易。 .env文件 在根目录新增.env文件,将需要的环境变量设置进去即可。 12PORT=8000CUSTOM=123 cross-env 根据不同的命令设置不同的环境变量 可以通过cross-env来进行设置。 cross-env PORT=8000 CUSTOM=123 umi dev 坑 但是 2023-01-13 前端 umi