williamsxu / blog

前端基础知识、最佳实践、源码原理、面经等

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

当阅读成为习惯,知识也就变成了常识!!

避免失联,先点 Star。如果内容对你有帮助也欢迎将仓库分享给你的同伴,更欢迎成为仓库贡献者,成为开源项目的 Contributor。

为什么要有这个仓库?

最开始用来作为自己的私人博客仓库,仓库中的博文会发布到各大技术平台和 B 站,B 站以视频形式分享。现在打算将仓库开源,接受网友的投稿,所以仓库内容会分为两部分:一部分为我自己的技术分享,一部分内容来源于网友投稿。投稿方式看贡献指南

仓库的主要内容是?

仓库目前主要以前端知识为主,比如基础知识、最佳实践、源码原理、面经等,内容必须为精品(我的主观评价,如有误伤,还请见谅),后续可能会陆续增加其它内容。

贡献指南

贡献指南

目录

  • PDF 生成(1)— 开篇 中讲解了 PDF 生成的技术背景、方案选型和决策,以及整个方案的技术架构图,所以后面的几篇一直都是在实现整套技术架构
  • PDF 生成(2)— 生成 PDF 文件 中我们通过 puppeteer 来生成 PDF 文件,并讲了自定义页眉、页脚的使用和其中的。本文结束之后 puppeteer 在 PDF 文件生成场景下的能力也基本到头了,所以,接下来的内容就全是基于 puppeteer 的增量开发了,也是整套架构的核心难点
  • PDF 生成(3)— 封面、尾页 通过 PDF 文件合并技术让一份 PDF 文件包含封面、内容页和尾页三部分。
  • PDF 生成(4)— 目录页 通过在内容页的开始位置动态插入 HTML 锚点、页面缩放、锚点元素高度计算、换页高度补偿等技术让 PDF 文件拥有了包含准确页码 + 页面跳转能力的目录页
  • PDF 生成(5)— 内容页支持由多页面组成 通过多页面合并技术 + 样式沙箱解决了用户在复杂 PDF 场景下前端代码维护问题,让用户的开发更自由、更符合业务逻辑
  • PDF 生成(6)— 服务化、配置化 就是本文了,本系列的最后一篇,以服务化的方式对外提供 PDF 生成能力,通过配置服务来维护接入方的信息,通过队列来做并发控制和任务分类
  • 代码仓库 欢迎 Star

其它

博客主页

About

前端基础知识、最佳实践、源码原理、面经等