获得徽章 8
5月2日 打卡day32
前端实现docx、pdf格式文件在线预览
docx使用docz-preview插件
pdf使用pdfjs
多格式文件渲染函数映射
不支持的文件提示处理
5月1日 打卡day31
抽象语法树及其广泛应用
形如
{
name:'',
type:'',
children:[
{
name:'',
type:'',
chidren:[]
}
]
编译过程
解析:词法分析,语法分析
转化
生成代码
4月30日 打卡day30
qiankun的原理-js是怎么做沙箱隔离的
snapshotsandbox快照沙箱
legacysandbox通过监听window来直接记录diff内容
proxysandbox
主应用与子应用之间隔离
4月29日 打卡day29
package.json配置解读
简单分为七种
描述配置
文件配置
依赖配置
发布配置
第三方配置
version版本号
repository项目仓库
description项目描述
keywords技术关键字
homepage项目主页
bugs项目bug反馈地址
files指定发布的文件
type模块类型
main入口
browser web端入口
exports条件导出
workspace工作区配置
scripts脚本配置
dependencies运行依赖
devDependencies开发依赖
peerdependencies同伴依赖
optionaldependencies可选依赖
4月28日 打卡day28
为什么建议一定要读一读 Tqpable 源码?
webpack的可插拔架构借助了 Tapable
Tapable内部以特别巧妙的方式实现了发布订阅模式
其中有动态编译类继承和this指向升华等知识点
Tapable类似Nodejs中的 EventEmitter的库 但它更专注于自定义事件的触发和处理
4月26日 打卡day27
什么时候使用Map胜过Object
为什么对象不符合hashmap的使用情况
hashmap中使用对象最明显的缺点是,对象只允许键是字符串和symbol
不必要的继承
名称冲突
clear
检查属性是否存在
4月25日 打卡day26
island架构原理和实践
mpa和spa和构建前端页面常见的两种方式
mpa即多页应用
spa即单页应用
mpa首屏加载性能好,spa后续加载性能好
mpaseo友好,spa不友好
spa状态管理方便
4月24日 打卡day25
前端docker
doxker启动vue项目
新建dockerfile
拉取nginx镜像
在根目录创建nginx配置文件
touch default.conf
在dockerdile中写入
FROM nginx
COPY dist /usr/share/nginx/html/
COPY default.conf /etc/nginx/conf.d/default.conf
构建镜像
运行容器
4月23日 打卡day24
数据大屏适配方案
方案一:vw vh
屏幕变化后,图标自动使用
字体、间距、位移等尺寸自适应
scale
按照设计稿比例进行缩放
rem+vw vh
动态计算出页面的fontsize从而改变rem的大小
4月22日 打卡day23
20个开源的前端低代码项目
Appsmith
LowCodeEngine
Amis
tmagic-editor
dooring-electron-lowcode
vite-vue3-lowcode
shida
quark-h5
gods-pen
luban-h5
mometa
h5-factory
steedos-platform
lz-h5-edit
tefact
fast-poster
openDataV
mall-cook
form-generator
vjdesign
下一页