再见2021,您好2022

前言

2021年已经逝去了,迎来了崭新的2022年,回顾2021.回顾我2021年立下的目标,B站粉丝数和预期还有很大差距。源于我大概三月份过后没有怎么更新。同时也没有什么好的分享,没有自己的特色之处,导致一直停滞不前。不过2021年最让我开心的事情是我成了新的上海人,落户成功。然后也成功拍到了沪牌。这是2021让我欣慰的事情。

再见2021

2021年博客总共输出32篇文章,基本都是偶发感想或者工作中碰到的小问题,写在文章里面和大家分享,针对知识性总结类的文章不多,文章总体质量不高,所以导致文章关注度不高。

babel插件的写法及应用(二)

前言

本文紧接着上一篇文章babel代码编译流程介绍,主要讲解如何自己写一个babel插件。上一篇文章通过babel的parse、transform、generate 我们完成了一个小的案例,假如这个小案例通过npm发布,共享这个功能,那么我们必须用到babel插件,那么如何封装一个babel插件呢?本文着重写下babel插件的封装。

babel的使用

项目中用到babel,你可以看到,首先是在项目根目录下面有个.babelrc 文件,这个是babel的配置文件。格式如下:

{
  "presets": [
    ["env", {
      "modules": false,
      "targets": {
        "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
      }
    }],
    "stage-2"
  ],
  "plugins": ["transform-runtime", "external-helpers","transform-class-properties"]
}

JS生成唯一id方式介绍(UUID和NanoID)

前言

之前代码中前端生成唯一的id方式,一般采用uuid的方式,最近唯一id有了更好的方式,那就是NanoID,今天这篇文章记录一下NanoID 正在取代 UUID?及js 生成uuid及NanoID的方法。

为什么 NanoID 正在取代 UUID

1、.更安全 在大多数随机生成器中,它们使用不安全的 Math.random()。但是,NanoID 使用 crypto module 和 Web Crypto API,意味着 NanoID 更安全。 此外,NanoID 在 ID 生成器的实现过程中使用了自己的算法,称为 统一算法,而不是使用“随机 % 字母表” random % alphabet。

2、 它既快速又紧凑 NanoID 比 UUID 快 60%。与 UUID 字母表中的 36 个字符不同,NanoID 只有 21 个字符。

Event及CustomEvent的介绍及使用

前言

单页应用中数据传递的方式有很多,有时候我们并没有用react或者vue,自己封装的简单的单页应用,需要传递一些简单的数据,那么自定义事件的方式是一种。今天haorooms博客简单介绍一下Event及CustomEvent的介绍及使用

event自定义事件

javascript提供了Event对象,所有的事件都是这个对象的实例,或者说继承了Event.prototype对象。Event对象本身就是一个构造函数,可以用来生成新的实例。

 new Event(type, options);