12 2021 档案
摘要:一、 需求背景:1、 目前分为旧雷达埋点、分享链路埋点,达不到大数据埋点统计的需求2、 目前埋点深度耦合在业务代码,不利于开发与代码维护二、 需求概述:用阿里SPM超级定位模型,构建一套适合大数据统计的,统一埋点方案,实现从前端埋点和数据上报后的可视化查询全链路打通。后期转向独立sdk。1、 满足现
阅读全文
摘要:一、NPM私有仓库搭建的意义 安全性(布署在内网,资产安全性高); 复用性,开发效率,版本管理(立足之根本); 提升下载速度; 公司技术输出沉淀积累形成资产化; 二、 Docker部署verdaccio 安装verdaccio与数据持久化 docker pull verdaccio/verdacci
阅读全文
摘要:随着项目的发展,已经出现了一些需要用到私有 NPM 仓库的场景,例如项目拆分后的公共逻辑、公共组件库、封装我们自已的埋点 SDK,这些代码不方便发布到 NPM 官方仓库,只能发布到公司自已的私有仓库上。为此我们基于Nexus搭建了公司自已的私有 NPM 仓库,这篇文档主要是私有 NPM 仓库的使用说
阅读全文
摘要:官方升级文档https://ant.design/docs/react/migration-v4-cn 一、升级准备 升级react到16.14.0:yarn add react@16.14.0 升级react-dom到16.14.0:yarn add react-dom@16.14.0 新版ant
阅读全文
摘要:改进的功能: webpack5、antd4、Pro组件化、jotai原子化状态管理、权限方案、请求拦截、面包屑、标题切换、路由懒加载、组件热更新、history路由、mock数据、typescript等 产生的价值: 1、antd3升级antd4,提供更多组件功能 2、antd pro组件化,页面更
阅读全文
摘要:什么是无头CMS? 术语”无头”是指缺少前端。无头CMS仅包含用于存储和交付内容的API和后端系统。 缺少前端是通过将内容发布到能够将内容发布到任何智能设备的API或Web服务的方式来满足的。从技术角度来看, 无头CMS不用在代码和内容之间建立关系, 而是使用API调用将内容呈现到网页中。 St
阅读全文
摘要:const _effect = new ReactiveEffect(fn) 新建_effect对象 if (!effectStack.includes(this)) { try { effectStack.push((activeEffect = this)) enableTracking() t
阅读全文
摘要:原以为proxy支持数组,不需要改写数组方法,但get与set都会触发两次 let arr = [1, 2]; let proxyArr = new Proxy(arr, { get(target, key, receiver) { console.log(`get`, key); const re
阅读全文
摘要:1、monorepo是管理库的一种方式,可以不用任何包,execa开启多个子进程,配置stdio参数在父进程显示,rollup配置支持数组输出多种规范文件,组件库也可用monorepo管理。 execa('rollup',['-c','--environment','TARGET:aa'],{std
阅读全文
摘要:/** * 删除url的指定参数 * @param {*} url 需要处理的url * @param {*} name 参数名称 */ export const deleteQueryString = (url, name) => { try { const re = new RegExp('&?
阅读全文
摘要:给dom添加额外信息,当dom移除,自动清除 <!DOCTYPE html> <html lang="en"> <body> <button id="btn">btn</button> <script> let wm = new WeakMap(); // console.log('window.b
阅读全文
摘要:IntersectionObserver内部使用getBoundingClientRect与requestIdleCallback实现 接近与离开0.5都会执行,去除接近0.5的执行 <!DOCTYPE html> <html lang="en"> <head> <style> body { mar
阅读全文
摘要:<!DOCTYPE html> <html lang="en"> <body> <button id="btn">箭头函数this</button> <script> let btn = document.getElementById("btn"); let obj = { name: "boy",
阅读全文
摘要:类新建的对象,执行是undefined class Animal { say() { console.log("say", this); } } let obj = new Animal(); let say = obj.say; say(); 字面量新建的对象,执行是window let obj
阅读全文
摘要:Array.prototype.myReduce = function (callback, prev) { for (let i = 0; i < this.length; i++) { if (typeof prev "undefined") { prev = callback(this[i],
阅读全文
摘要:利用javascript语言特性,预解析时this赋值点'.'的前面对象 Function.prototype.myCall = function (ctx, ...args) { ctx = ctx ? Object(ctx) : window; ctx.fn = this; //利用javasc
阅读全文
摘要:团队在用whistle抓包,iPhone安装证书后可抓取https,安卓试了几次失败,昨天看小伙伴安卓可以抓https,再次研究,发现坑在安装证书时选择类别,应该选择“VPN和应用”,不应该选择“WLAN”。鸿蒙系统—设置—安全—更多安全设置—加密和凭据—受信任的凭据—用户,此时有自己安装的证书,重
阅读全文