随笔分类 - javascript
摘要:什么是 pnpm ? pnpm 是 npm 的替代者,命名是“Performant NPM”的简写,它更快、更节省空间,并且解决了 npm 的一些固有问题。在这篇文章中,我将会讨论它是如何工作的,并说明为什么 pnpm 是 npm 或 yarn 的完美替代品。 使用 npm 或者 yarn 的问题:
阅读全文
摘要:深入了解一个库最好的办法是直接去看源代码,学习作者的设计模式、运行原理、代码风格等。并且动手跑起来,碰到不懂的地方打断点或者打印关键信息,一步一步去琢磨。 很多流行库发展多年后,优化工作越做越好,但同时会变得比较臃肿,代码量大且文件分散,直接看最新版本的源代码可能无从下手。我是这么实践的,先去看它的
阅读全文
摘要:css 隔离 同时加载多个应用可能出现样式互相覆盖的问题,特别是引入了第三方 UI 库的时候。我们采取了两个方案: 对于面向客户的页面,我们使用 css-in-js 的模式(Emotion css)开发自研的组件库和页面,它生成的 class 名字是一个随机字符串,避免了同名覆盖问题。另外样式都是以
阅读全文
摘要:目前流行的几个微前端框架 Single SPA。它的官网将自己定义为 “一个用于前端微服务的 javascript 路由器(A javascript router for front-end microservices)”,实现了一套路由监听并加载子应用的功能,并且需要子应用暴露特定的注册、挂载、卸
阅读全文
摘要:React 最流行的三个 form 库 redux-form, formik 和 react-hook-form Package size redux-form 26.4k formik 15k react-hook-form 8.7k 第三方表单验证 redux-form 不支持,需手动验证 fo
阅读全文
摘要:Mac os文件名大小写不敏感,但是linux是大小写敏感的。 + 让我们代入一个场景, 创建一个新文件,你习惯以小写字母开头,接着在其他module中import,看起来一切都正常,emmm,确实没有任何问题,但是你突然改了注意,把刚刚那个文件改成react component,按照约定那就要把文
阅读全文
摘要:一. this绑定规则 函数调用位置决定了this的绑定对象,必须找到正确的调用位置判断需要应用下面四条规则中的哪一条。 1.1 默认绑定 看下面代码: 调用foo的时候,this应用了默认绑定,this指向了全局对象,但是在严格模式下,那么全局对象将无法进行默认绑定,因此this会绑定到undef
阅读全文
摘要:以上几个数组的方法会改变原数组,称之为数组的变异方法。
阅读全文
摘要:promise.then VS setTimeout 在chrome和node环境环境中均输出2, 3, 1, 先输出2没什么好说的,3和1顺序让人有些意外 原因: 有一个事件循环,但是任务队列可以有多个。 整个script代码,放在了macrotask queue中,setTimeout也放入ma
阅读全文
摘要:有时候想在chrome console使用jq,那么下面这段代码就可以完美解决问题了。 注意:有可能会与网页其他库造成冲突。
阅读全文
摘要:在chrome console输入console.log(0.7 + 0.1),你猜会得到什么结果?会输出0.7999999999999999,所以如果你进行这样的判断console.log(0.7 + 0.1 0.8),那么结果并不能如愿,会输出 false。 为什么会这样呢?引用知乎里面的一段回
阅读全文