上一篇 blog 提到了跨域访问图像资源引起的 canvas 污染的问题,其实当时我在查看跨域请求到的图像资源时,还无意中发现了一个新的 HTTP 响应头Access-Control-Allow-Private-Network
,这篇文章就来简单探讨一下这个非常新的跨域请求的特性。
canvas 污染问题
前端时间实现了一个用canvas
往模板图片绘制数据的功能点,遇到了一个跨域引起canvas
污染的问题,仔细发掘下去发现不少的技术点。
饥荒云服务器搭建
玩饥荒的小伙伴都知道,饥荒这个游戏在创建多人房间的时候,会将房主的电脑作为本地服务器来中转数据,然后就经常遇到卡顿的问题。这篇文章尝试使用腾讯云轻量服务器来搭建饥荒的云服务器。
如何给类库打包
背景
在业务场景开发过程中,经常会需要我们手动编写一些方法来解决一些业务场景问题,例如防抖、节流、正则表达式表单校验方法等。一般我们会把这些方法统一放在项目的某个目录,例如utils
下维护。
但是当涉及到跨团队使用的时候,这些方法通过npm
包的形式来维护会减少团队开发成本。这篇文章主要探索使用rollup
和api-extractor
打包基于 TypeScript 开发的类库的使用过程。
实现 Promise.all 有哪些要点
Promise.all
Promise.all
是日常使用频率非常高的异步方法,这两天回顾了一下Promise
的几个静态方法,对Promise.all
又有了一些新的认识。
PureEsm
Node 从v12.17(LTS)
版本开始正式支持 ESM 模块语法,但是 node 本身又支持 CJS 语法,直接迁移的话还是有些成本的。
学习vuecli源码的收获
为什么学习
之所以学习vue-cli
的源码,主要是我个人想提升脚手架搭建方面的能力,学习vue-cli
插件机制的设计模式和一些脚手架开发的技巧。
vuecli源码解析(1)
vue-cli
是 vue 官方出品的脚手架项目,用来快速搭建vue
项目,一键生成项目基础代码。
一直对其内部的运行原理比较好奇,并且开发脚手架的能力也是一名前端开发人员需要掌握的技能,所以这里以v4.5.15
版本为例,记录一下源码研究的过程和学习点。
vuecli源码解析(2)
上文说到创建完package.json
文件并安装plugins
的依赖,然后后续会初始化Generator
实例,Generator
内部会调用各个plugin
,涉及到插件机制的实现,这里单独起一篇介绍。
vuecli源码解析(3)
vue-cli-service
作为第一个必然会被调用的plugin
,其功能主要是生成项目模板文件,以及通过serve
、build
等命令进行开发环境server
的启动和生产环境的构建打包等。下面分析其内部逻辑。