有关 npm 包的本地开发和调试

2020-10-28
阅读 2 分钟
16.2k
当 npm 包还在开发阶段不可能一边发布一边调试,不然也太繁琐了。不同场景下调试方法有很多,比如现在 npm 包中利用 node 直接运行调试,或者直接在工程的 node_modules 中将引用修改后直接修改源码调试。本文我将介绍其中一种,也是我最常用的一种。

【编译篇】AST实现函数错误的自动上报

2020-10-28
阅读 9 分钟
5.9k
之前有身边有人问我在错误监控中,如何能实现自动为函数自动添加错误捕获。今天我们来聊一聊技术如何实现。先讲原理:在代码编译时,利用 babel 的 loader,劫持所有函数表达。然后利用 AST(抽象语法树) 修改函数节点,在函数外层包裹 try/catch。然后在 catch 中使用 sdk 将错误信息在运行时捕获上报。如果你对编译打...

从V8引擎来看JS中这个"假数组"

2020-07-08
阅读 6 分钟
5.3k
前言数组是我们前端日常开发中最熟悉的一种数据类型,但你真的了解数组吗?通过本文,你将了解:JS数组和传统数组的区别V8引擎为“传统”数组做了哪些优化快数组和慢数组ArrayBuffer什么是数组?数组(Array)在维基百科上的解释是:数组是由相同类型的元素(element)的集合所组成的数据结构,分配一块连续内存来存储。注...

【AST篇】手把手教你写Eslint plugin

2019-10-12
阅读 7 分钟
7.5k
虽然现在已经有很多实用的 ESLint 插件了,但随着项目不断迭代发展,你可能会遇到已有 ESLint 插件不能满足现在团队开发的情况。这时候,你需要自己来创建一个 ESLint 插件。