获得徽章 10
- #青训营笔记创作活动#
2月15日 打卡day33
Pinia 是一个基于 Vue 3 的状态管理库,类似于 Vuex。使用 Pinia,您需要先注册插件,然后定义需要管理的数据和方法。数据可以是任何类型的状态,例如数字、字符串、对象等。方法是处理状态的逻辑,例如登录、注销等操作。展开评论点赞 - #青训营笔记创作活动#
2月14日 打卡day32
在业务中,需要实现文档预览功能时,可以使用第三方库来实现。对于docx文件,可以使用docx-preview插件来实现预览;对于PDF文件,可以使用PDFJS插件,并将文件流解析后写到canvas上来实现预览效果。将这些功能封装成一个名为preview的组件,可以更方便地在业务中使用。展开评论点赞 - #青训营笔记创作活动#
2月13日 打卡day31
抽象语法树(Abstract Syntax Tree,AST)是源代码语法结构的一种抽象表示,以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构,常用于代码的分析和转换。
展开评论点赞 - #青训营笔记创作活动#
2月12日 打卡day30
Qiankun 通过将要执行的 JS 代码包裹在一个立即执行函数中,并绑定上下文 window.proxy,并将 window.proxy 作为入参传入,实现了与沙箱的联系。因此,当微应用操作 window 对象时,实际上是在 fakeWindow 上操作,从而实现了对变量的隔离。然而,如果存在隐式声明或调用全局对象的代码,由于隐式声明的变量不会自动挂载到 window.proxy 上,会导致 eval 报错,因此需要特殊处理。Qiankun 提供了三种沙箱:SnapshotSandbox、LegacySandbox 和 ProxySandbox,以应对不同的场景。展开评论点赞 - #青训营笔记创作活动#
2月11日 打卡day29
描述配置:用于描述项目的基本信息,包括项目名称、版本号、作者、许可证等。
文件配置:用于指定项目中的文件,包括入口文件、输出文件、静态资源等。
脚本配置:用于定义一些在命令行中执行的脚本命令,例如启动项目、运行测试等。
依赖配置:用于管理项目所依赖的包,包括开发依赖和生产依赖。
发布配置:用于配置项目的发布方式和发布到哪里,例如发布到 npmjs.com 或者 GitHub Packages。
系统配置:用于配置项目在不同环境下的行为,例如配置开发环境、生产环境等。
第三方配置:用于配置项目使用的第三方工具、插件等,例如 babel、webpack 等。展开评论点赞 - #青训营笔记创作活动#
2月10日 打卡day28
Tapable 是一个方便管理自定义事件的库,它提供了类似于 EventEmitter 的功能,但更专注于自定义事件的触发和处理。可以通过 tap、tapAsync、tapPromise 三种方式注册自定义事件,然后通过 call、callAsync、promise 方法在适当的时间点执行事件。它支持同步和异步事件,异步事件又可以分为异步串行钩子和异步并行钩子。展开评论点赞 - #青训营笔记创作活动#
2月8日 打卡day27
分库分表是一种解决海量数据下数据库性能下降问题的技术方案,包括将大数据量的数据库分成多个小数据库,将大数据量的表分成若干个数据表。分库分表是为了解决单机数据库存储容量有限、连接数有限的问题,以提高数据库的性能,减小负担,缩短查询时间。当数据量持续大幅增长时,即使优化数据库,仍可能导致性能下降,因此需要进行分库分表。
展开评论点赞 - #青训营笔记创作活动#
2月8日 打卡day26
Islands 架构是当前前端社区热门的话题,其代表性的框架有 Fresh 和 Astro。Islands 架构源于对于多页应用 (MPA) 和单页应用 (SPA) 两种方式的选择问题。MPA 是从服务器加载多个 HTML 页面的应用,每个页面独立且有自己的 URL。而 SPA 是只有一个 HTML,页面通过加载 JavaScript 完成 DOM 树的构建和 DOM 事件绑定。展开评论点赞 - #青训营笔记创作活动#
2月7日 打卡day25
介绍了docker的安装和各种使用技巧,详细介绍了用docker创建到使用项目的技巧。评论点赞 - #青训营笔记创作活动#
2月6日 打卡day24
大屏适配方案有方案一:vw vh:按照设计稿的尺寸,将px按比例计算转为vw和vh
方案二:scale通过 css 的 scale 属性,根据屏幕大小,对图表进行整体的等比缩放,从而达到自适应效果,
方案三:rem + vw wh:把所有元素的长、宽、位置、字体大小等原来的 px 单位全部转换成 rem;网页加载后,用 js 去计算当前浏览器的宽度,并设置 html 的 font-size 为 (当前浏览器窗口宽度 / 10) 。展开评论点赞