Better

Ethan的博客,欢迎访问交流

WebAssembly 入门

了解 wasm 使用场景,复杂对象传递和经验法则。


Observer in Browser

浏览器提供的 Observer api。


Writing your code is just like planting a tree

没有什么营养的序:写代码就像种一颗树,你不管它,它通常也能自然生长,但你时不时修剪修剪,它能长的更好一点。但它又不同于种树,因为你把它头插土里,它也可以自然生长。 文章中的代码都是盲打的,不保证正确性。


简单 CLI 工具编写

解决团队当前本地开发存在的痛点。


微前端简单思考

约两年前就有了解这个话题,当时背景是前端的旧项目代码量比较大,开发时编译速度很慢,极大了影响开发体验,正逢技术转型以及新增产品业务线,于是拆分成了多个项目进行开发,但项目之间跳转、数据传递以及彼此交互时,就陷入了困境。


组件库 CSS 样式方案

项目中一定会存在一些可被复用的组件,可能是完全自研的,也可能是基于已有组件组二次封装的。打包成一个可被不同项目间复用的 npm 包,则对待 CSS 如何处理就会有多种方式。


组合快捷键功能实现

当初实现组合快捷键功能的时候,觉得这是个并不复杂的功能,同时结合项目自身的特殊需要,并没有考虑引入第三方解决方案,于是乎自己简单实现了一个,keydown/keyup 事件安排起来,直到有一天发现有时候快捷键会失效,比如当我使用系统快捷键切换窗口,在切回时,快捷键就失效了。


深入了解现代浏览器

看的 Inside look at modern web browse 系列文章的笔记,


rollup.config 中使用 cjs 模块

rollup 配置文件推荐使用 esm 的方式,意味你不能使用 module.exports 语法,那如果我要导入一个 cjs 模块包用呢。


前端文件与编码基础

最近解决一个前端文件上传需求时,对于二进制内容的加解码有点困惑,同时对于前端相关 api 有些生疏。