随笔分类 -  javascript

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

点击右上角即可分享
微信分享提示