服务架构

插件化设计模式在前端领域的应用

软件开发中,随着系统功能变多,复杂度成指数级上升,而复杂度的增高多来源于模块间的耦合过于严重,插件化的设计模式能一定程度解决模块耦合的问题。抽象出系统的核心流程节点,基于这些节点与多个插件进行交互,最终实现整个系统。当然,前端领域的一些场景也有插件化应用的案例,本篇文章我们基于这些案例,一览其中的设计原理与插件核心执行流程。

前端

node_modules 与包管理器

身为前端开发的我们应该每天都会接触 node_modules,但对于 node_modules 的认知是否充分?也许因为包管理器的存在,平时只需要一个 install 命令,可能就不会去过多关注 node_mdouels 本身。 简单而言,node_modules 是为 Node 设计存放依赖的文件夹。一直到今天,node_modules 能满足很多场景的使用,但同时也存在不少缺陷。 从一个常见的版本冲突场景开始切入主题,查看以下依赖关系: 当出现这种情况时,node_modules 下的文件结构是如何组织的? 如果

前端

<<CSS World>>笔记

前段时间断断续续的把张鑫旭的《CSS World》看了两遍,这本书很偏基础,也很有张鑫旭个人特色,不像是那么多技术类书籍章法森严罗列技术词汇,这本书的内容都是他长年累月的实践中沉淀下来的干货和私货,更像是在看一个程序员的笔记, 值得一看的一本书。 书里的内容只精专于CSS部分,而且由于出书时间比较久了,CSS3现在的发展比书中的内容丰富了很多,有些实现在现在看来已经更好的解决方案了,不过里面涉及到的一些基础知识和实现确是出乎了我的意料,有不少意外的收获,以下内容记录的仅是我个人平时没有注意到或者比较意外的点,配合codepen提供的demo,demo集合地址:https://codepen.io/collection/ngQGBY, 部分知识点很简略所以无demo知道即可 1. 替换元素不支持伪元素 :before和:after 例如<img />

前端

移动端 Web 页 input 控制软键盘

从交互层面上来讲,完成一个功能(获得想要的信息)的过程称之为用户路径。用户路径越长,完成功能的复杂度就越高,用户体验也就越差。因此当打开一个需要用户填写信息的表单界面时,为了提高可用性,PC 端一般会将光标聚焦到对应输入框(input),移动端也是同理,让对应的 input 获得 focus 状态,唤起软键盘,方便用户直接输入。