- 博客(8)
- 问答 (1)
- 收藏
- 关注
原创 使用pdf.js渲染二进制流文件,并添加水印
接口请求时需要设置返回类型为blob,拿到数据后使用window.URL.createObjectURL把blob转为路径,作为参数传给pdfjsLib.getDocument方法,该方法会返回一个。如果要添加水印,需要用canvas来画,所以使用canvas渲染,如果只是预览,不需要用pdf.js,直接用iframe渲染二进制流转的路径就可以。然后在html页面中引入pdf.js和pdf.worker.js两个文件,一定要引入两个!首先在pdf.js官网下载pdf.js包。
2023-07-27 14:09:58
1333
2
原创 手动实现深拷贝
前几天面试被问到如何实现lodash中deepclone的功能?之前没有考虑过这个问题,当时没有打上来,面试结束自己写了一下,也没什么大不了,就是用递归得给一个新的对象或者数组中放入数据就实现了对某个对象和数组的深拷贝,下面上源码。
2023-03-07 16:20:16
131
原创 node.js第一天
node.js就是基于v8引擎的服务器端js运行环境,是事件驱动,非阻塞式I/O的模型,轻量而又高效。进程:负责给程序提供运行环境,类似于工厂的厂房线程:负责执行进程里的程序,类似于厂房里的工人。
2023-02-28 18:06:20
105
原创 前端使用docker心得
docker tag 本地镜像名:tag 线上镜像名:tag(往harbor上推的话harbor会有自己的推镜像规则,可以参考harbor镜像仓库中的推送命令)docker run -p 3600:3600 (左边端口是映射出来的,右边端口是dockerFile里写的) --name 容器名 -d 镜像名。docker build -t 镜像名 . (.不能丢)docker rm 容器id 删除docker中的容器。docker ps 查看当前运行中的所有容器。docker ps -a 查看当前所有容器。
2023-02-16 15:00:16
101
原创 什么是虚拟DOM
虚拟dom就是js对象模仿dom树,再根据对象生成真实的dom树插入到文档流中。当页面数据发生变化的时候,js会生成一个新的对象,与老对象进行比较(diff算法),记录差异,再把差异应用到真实dom中。优点:这样做避免了无用的dom操作,极大提高了页面渲染效率。
2023-02-16 14:43:39
74
空空如也
gridsome实现用户注册功能
2022-02-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人