微前端框架初探,对比qiankun和Module-Federation 在微前端领域中,之前我们围绕着 qiankun(single-spa)的方案设计了一套微前端集成部署方案,并在 OPS 项目中得以应用。 随着 webpack5 的更新,现在又有了另一种微前端解决方案,即 module federation。该方案与 single-spa 有什么区别,各自的应用场景以及优势又是什么? Qiankun vs Module-Federation(MF)从设计思路,接入 2021-10-18 前端 #webpack #微前端 #qiankun
npm依赖管理之peerDependencies 引言在使用 package.json 文件在管理依赖的时候,常用的配置有 dependencies 和 devDependencies,之前也有看到还有一个配置依赖的字段叫 peerDependencies,但一直没有找到这个配置的具体使用场景。 最近在封装一个和 d3 相关的 sdk,正好可以使用这个配置进行依赖的优化。 分析当我将 sdk 打包发布在 npm 仓库中(之后称为 A),在业务中( 2021-10-12 前端 #nodejs
登录状态跨域共享实现方案 背景介绍企业服务由于合规问题需要独立域名,脱离主域名,从而导致无法使用主域名登录状态,需要重新设计开发一套独立的登录功能。 观察企查查相关业务发现,对方也有类似的业务场景,例如客找找,经过测试发现客找找能够共享企查查的登录状态并且能够实时同步。 技术调研一般情况下 cookie 跨域指的是子域名和主域名之间共享 cookie,即 a.baidu.com,b.baidu.com 共享 www.bai 2021-09-07 前端 #cookie
前端新脚手架搭建,Vite+Vue3+Vue-router4 基础依赖构建工具Vite: https://cn.vitejs.dev/config/ 前端框架Vue@next(+sfc setup):https://v3.cn.vuejs.org/api/ Vue-router@next: https://next.router.vuejs.org/zh/guide/ Vuex@next: https://next.vuex.vuejs.org/zh/ UI 2021-08-31 前端 #Typescript #vite #vue
使用依赖镜像优化docker构建流程 原流程构建应用程序镜像时安装依赖,例如: Dockerfile: 123456789101112FROM node:12.22.0-alpine# ... something to do ...# Copy application files, including package.jsonCOPY ./dist /usr/local/app/COPY ./package.json /usr/loc 2021-08-03 运维 #docker
TS动态获取已知对象的属性 - 断言,联合类型 背景介绍在 ts 中我们经常会有如下的写法: 123456789function func(req, res) { const obj = { a: 1, b: 2, c: 3, }; let id = obj[req.params.id]; // ...} 当我们想获取某个对象中的某个属性,而这个属性名又是通过外部参数传入时,就 2021-07-15 前端 #Typescript
关于服务端配置泄露思考 背景介绍对于前后端同构的项目来说,一套代码有可能运行在两个不同的环境中,所以对于这些代码来说,兼容性,安全性的考虑要比其他代码复杂的多。 例如某些代码如果依赖浏览器 api,例如 window,document 等,如果不做兼容处理则会报错。 例如某些依赖第三方模块的代码,如果没有配置到 dependencies 中,那服务端在执行时会报错导致程序无法正常运行。 还有一种情况,就是某些敏感的配置信 2021-07-14 后台
前端监控的一些设计思路-用户标识 前言在使用 flogger3.0 及之前版本的时候(我之前编写的一款前端监控 sdk),我们往往通过 uid,ip 和 ua 去判断该日志是否属于某个用户,在使用过程中也遇到了很多的问题,例如: 用户未登录或者要查询用户登录前的日志时,只能通过 ua 和 ip 去判断,然而有些情况下即使两者全都一致也不一定是同一个用户。例如同一家公司的两个用户使用同一种浏览器访问(出口 ip 相同)。 另外如何统 2021-06-22 前端 #监控
nodejs模块引入问题,commonJS和ESModule区别 背景介绍场景:server 端运行时引入一个用于配置的 js,导出一个 json 对象,并赋值给了当前运行时的一个临时变量,然后在后面的操作中对这个临时变量进行操作。 12345678910111213141516import settings from "./settings";var app = express();app.use((req, res, next) => 2021-05-12 后台 #nodejs #ES6
CDN监控和运行时切换 CDN 监控和运行时切换CDN 是前端分发静态资源的重要工具,如果 CDN 出现问题会导致网页错乱,操作无法响应等问题。 在生产环境中也会收到用户的反馈网页错乱的问题,经排查都是用户无法访问 CDN 资源导致,以往此类问题都只能依赖用户自身去排查网络问题,效率较低。希望能找到一种方法能够快速帮助用户解决问题。 切换 CDN我们同时采购了阿里云和网宿两家 CDN 服务商,目前测试下来两家服务商都无法 2021-05-11 运维 #监控 #webpack #CDN