一文介绍 flex 弹性布局的用法和常见的布局,更多的内容可以在mdn阅读。
JS 异常问题
js的异常问题在实际项目作用很大,尽管有很多工具做了很多异常捕获和处理。但是,还是需要我们正确地认识 js 异常才能提高开发效率。在理解 js的异常问题前,先了解一下 《JS 的任务管理机制》。这样才对 js 异常有更好的理解。
CSS3 动画
在实现一些 CSS 特效中,比如元素的颜色随着高度而变化,或者是元素实现移动。这些效果都是属于动画效果。而动画效果不但可以给页面增加一些趣味性,还可以给用户视觉上的冲击感。而实现 CSS 动画可以采用的是 CSS3 中的新属性 transform(变形)、transition(过渡) 和 animation(帧动画)来实现。
JS 的任务管理机制
JavaScript 是被设计为单线程的,这意味着任务只能一个一个处理。如果某一个任务是 I/O 操作类型的,比如用户输入,那么该操作未完成前,其他所有任务都处于等待状态,这样就会造成页面假死状态,从而导致用户体验极差。为了解决该问题, JavaScript 将任务分为同步任务和异步任务,确保页面的交互和渲染处理能高效进行。
前端路由 hash 和 history 模式
在使用 Vue 或者 React 框架搭建的前端项目时,通常会有 hash 模式和 history 模式两种路由方式。本文主要对其的特点、使用场景进行对比。参考自《前端路由模式详解》和《你真的了解前端路由吗?》。
GitHub Actions的应用
记得 2019 年使用 Jekyll 和 hoxe 写博客时,那时候还不知道有 github actions,只能手动编译后代码单独将其部署在 github pages。后来知道持续集成、github actions 后,docusaurus 博客使用 actions 特别方便,一提交代码后便会自己编译代码到自指定 pages 分支中。
浏览器缓存的差异
平时在开发Web页面的时候,借助于浏览器的缓存来储存数据是很常见的。但是,浏览器缓存有三种,分别是 Cookie,Local Storage,Session Storage。三者是有所区别的,所以我们需要对这三者有深刻的认识。这样在开发的时候才能正确地选择我们需要的缓存类型。
CSS 书写规范
在上文《CSS 方法论》中,介绍了四种常见的方法论,但是在实际开发是很难完全落实某一方法论的约定的。所以我在实际开发的需要中,根据 CSS 方法论中 BEM + SMACSS 这两种方法论的结合命名约定总结出自己的一套 CSS 书写规范。
该 CSS 书写规范只是提供大致的规范准则及理论知识,在实际项目中应考虑具体情况而作出调整。
CSS 方法论
一个前端项目中,CSS 实现各种样式效果并不困难。但在后期维护中,CSS 不规范的书写或者是杂乱命名之类却经常让我们厌恶,从而重新书写自己的样式。因此,CSS 规范书写对于前端项目是至关重要的。它这样不仅可以让我们写出优雅的代码,也方便他人阅读和维护。
本文内容学于 《前端躬行记》 - CSS 方法论,由此将其记录在此,方便阅读和查看。
npm 依赖管理 dependencies devDependencies
在平常导入依赖时,我们大多会使用 yarn add xxx 或者 npm install xxx 命令。而在使用这些命令时通常都会在后面加上 -D、-S或者 --save、--save-dev 等参数。使用不同参数的结果会导致安装依赖出现在 package.json 文件依赖管理中的 dependencies 、devDependencies 的不同。