commitlint报错问题 commit一直有问题 后来发现官网 1echo "module.exports = {extends: ['@commitlint/config-conventional']}" > commitlint.config.js 生成的代码时UTF16的,无语。改成utf-8就好了 2023-08-26 前端 #git
vite+react+ts 遇到的一些问题最近在用vite写react项目,记录一下遇到的问题 配置别名后,在vscode中path有波浪线 npm install @types/node –save-dev 配置完成后,vscode中使用@还是有波浪线,但是项目没报错 1234567891011121314151617181920212223242526272829{ "comp 2023-08-04 前端 #typescript #react #vite
手写深拷贝 深拷贝错误答案 1使用 JSON.stringify 和 JSON.parse 无法转换函数 无法转换 Map Set 无法转换循环引用 PS:其实普通对象使用 JSON API 的运算速度很快,但功能不全 错误答案 2使用 Object.assign —— 这根本就不是深拷贝,是浅拷贝 !!! Object.assign(obj1, {...}) const obj2 2023-06-02 前端 #深拷贝 #js
MVC 和 MVVM 有什么区别 MVC 原理 View 传送指令到 Controller Controller 完成业务逻辑后,要求 Model 改变状态 Model 将新的数据发送到 View,用户得到反馈 MVVM 直接对标 Vue 即可 View 即 Vue template Model 即 Vue data VM 即 Vue 其他核心功能,负责 View 和 Model 通讯 2023-06-01 设计模式 #MVC #MVVM
CSS 属性计算过程 CSS 属性计算过程你是否了解 CSS 的属性计算过程呢? 例如: 123p { color: red;} 上面的 CSS 代码中,p 是元素选择器,color 就是其中的一个 CSS 属性。 但是要说 CSS 属性的计算过程,还真的不是很清楚。 没关系,本文能够让你彻底明白什么是 CSS 属性的计算流程。 首先,不知道你有没有考虑过这样的一个问题,假设在 HTML 中有这 2023-05-31 前端 #css
webpack5 基础 webpack 的核心价值就是前端源码的打包,即将前端源码中每一个文件(无论任何类型)都当做一个 pack ,然后分析依赖,将其最终打包出线上运行的代码。webpack 的四个核心部分 entry 规定入口文件,一个或者多个 output 规定输出文件的位置 loader 各个类型的转换工具 plugin 打包过程中各种自定义功能的插件 基础配置初始化环境新建一个文件夹,然后 npm init 2023-05-23 前端 #webpack #工具
BFC BFC 的理解块级格式化上下文,它是指一个独立的块级渲染区域,只有 Block-level BOX 参与,该区域拥有套渲染规则来约束块级盒子的布局,且与区域外部无关。 从一个现象开始说起 一个盒子不设置 height,当内容子元素都浮动时,无法撑起自身 这个盒子没有形成 BFC 如何创建 BFC float 的值不是 none position 的值不是 static 或者 relative d 2023-03-05 前端 #css #BFC
css属性转换成驼峰式 12345678910111213function convertToCamelCase(cssProperty) { if (cssProperty[0] == "-") { // slice不会修改原数组,但是splice会 cssProperty = cssProperty.slice(1); } return cssPro 2023-02-24 算法 > 前端 #css
react18+eslint+prettier 配置 新建项目1create-react-app.cmd react18 --template typescript 配置别名安装 craco 1npm install @craco/craco -D 新建 craco.config.js 12345678910const path = require("path");const resolve = (dir) => pat 2023-01-02 前端 #react #eslint #prettier #craco #editorconfig