本文对建站做了一种 demo 实现,并不代表能够应对真正生产环境的复杂场景 调研大量建站平台,发现大部分建站界面长的几乎一致,数据结构层也基本一致,那么就想到一个问题,能不能把通用的数据层/视图层抽离,作为基础,通过动态加载组件的方式满足不同的页面搭建场景。 最开始的想法是通过 rollup + systemjs 的方式,编译组件,然后动态加载组件,但是会有一些问题,比如依赖库共享问题,组件间...
首先,我们先来看下 url 获取资源的本质,一般情况下一条 url 会请求到代理服务器(nginx)。 代理服务器会帮助我们选择目标资源,我将目标资源分为两类。 一类是静态的(变更频率低),静态的主要包括 html、js、css、图片、视频 一类是动态的(变更频率高),动态是可变的,最主要特点是两次请求返回结果可能不同,json、jsp、ssr、文件导出 当我们通过浏览器发出一个请求时候,...
前端 i18n 库的选择 市面上比较流行的只有两种,两者功能差不太多。 i18n-next * 可支持插件拓展 * 不支持编译自动生成 key (但是可以直接用文案当作 key) react-intl * 不支持插件拓展,但支持高阶 hoc 的拓展 * 支持编译时自动生成 key i18n 的本质 key - value 映射 不管哪种方案都是 key - value 的映...
> 我思故我在。——笛卡尔 目的 为什么要谈前端协作,在企业开发中一个个项目往往都是多人合作的,参与人数从 2-n 人不等。 如果你是一个新人,你是否经历过加入新项目时候问东问西,各种骚操作,花式小技巧,只能从前辈那里以嘴的方式获取。 如果你是一个老人,是否经历过新来的人完全不按你的套路写代码,代码乱放,各种组件cv制造,最终堆成一座崭新的屎山。 如何解决这两个问题呢? 作为新人我希望有个文...
这个文章是从 11 月建立的没想到 12 月才写完,拖延症拖了一个月… 思考 我总是能有很多新奇的点子,很多都来源于宽广的认知,我觉得这也可能是我最大的竞争力。 比如我觉得 next 的注入方式不符合 spring 的方式,我就搞了一套新的注解 api,用起来也很爽。 这件事实际上很简单,模仿 spring 的 api 就行,但是这一切都来源于一个想法,所以说没了想法就算你会最快的算法又...
如果没有播放点击play可视化 波形 频率 <div> <audio id="audio" controls autoplay> <source src="/imgs/demo.m4a" type="audio/mp4" /> </audio> </div> <div style="display: flex; flex-wrap: wrap; gap:20px"> <div...
var string = ` <div > fff ddd <span style="123 fff" data-size=12 data-width='20px' >123</span> <br style="fff" /> ddd </div> `; var offset = 0; // <div> or </div> or <div > function getTagName(s...
> 有人的地方就有江湖,有江湖的地方就有包工头 > --尼古拉斯张三 单机进程管理的缺点 一个人的力量毕竟是有限的,单机进程管理像下图这样。 看这个图会发现两个问题: 1. 任务分发和进程管理两个服务放在一块耦合过于严重,一上线某一个功能就需要重启所有进程 2. 单机资源是有限的,随着进程增加,就会出现资源不够用的情况 进程管理集群 为...
简单的代理对象 给count 最原始的方式绑定数据 add <div id="count_0"> </div> <button id="add_0">add</button> <script type="module"> let countNode; let addButton; countNode = $('count_0'); addButton = ...