女王控的博客

前端

150 篇文章

TypeScript 练手测试

测试一 代码为什么会提示错误,应该如何解决这个问题? 我的解答 直接利用自动推导 最佳解答一 T 类型兼容 User 类型 最佳解答二 返回值限制为 User 类型 最佳解答三 断言处理 最佳解答四 重定义类型 实现要点 T 只是约束于 User 类型,而不局限于 User 类型,所以返回为 T 类型不仅仅只有 id 和 kind,所以需要限制类型 测试二 本道题我们希望参数 a 和 b 的类型都是一致的,即 a 和 b 同时为 number 或 string 类型。当它们的类型不一致的值,TS… »

博客 Gatsby 插件改造

需求背景 针对本博客现有的 Gatsby 框架实现代码复制、代码实时查看编辑的功能 技术选型 以下都是采用最后一种方案,由于插件功能不满足,所以对其源码做出改动 代码复制 技术选型 语法 优点 缺点 项目代码自实现 未实现 定制化程度高 实现难度大; 拓展较差 gatsby-remark-code-buttons 不需特定语法,只要是代码块默认具有复制功能 已具有代码复制功能 有多复制一行的 bug; UI 不符合博客主题 代码实时查看编辑 技术选型 语法 优点 缺点 样例页面 iframe… »

甘特图组件源码优化

需求背景 由于 PMS 项目需要开发如下图所示的甘特图,需要选择合适的组件来实现此功能 技术选型 选型 优点 缺点 gantt-schedule-timeline-calendar 功能丰富 与 UI 相差较大,定制化代码较多 react-timeline-gantt 功能丰富 与 UI 相差较大,定制化代码较多 gantt 与 UI 相差不大 在 react 使用需要封装;缺失左侧文字描述功能 gantt-for-react 与 UI 相差不大,可直接在 react… »

代码生成脚手架搭建

需求背景 由于 C 端营销线新建项目需要模板化,需要代码模板的生成功能,以便统一技术栈 一期 一期代码生成需要在 lerna 工程下去做改造,除了带有代码模板的功能,还封装了执行脚本的入口 参考链接: react-boilerplate 这里的代码模板包含项目级别的代码模板、页面级别的代码模板,目前只完成了项目的代码模板生成 目录结构 脚本主入口 package.json 模板代码生成 模板代码执行主入口 internals/generators/index.js 检测 packages… »

WebGL 理论基础——基础概念

基础概念 背景 WebGL 经常被当成 3D API,人们总想“我可以使用 WebGL 和一些神奇的东西做出炫酷的 3D 作品”。事实上 WebGL 仅仅是一个光栅化引擎,它可以根据你的代码绘制出点,线和三角形。想要利用 WebGL 完成更复杂任务,取决于你能否提供合适的代码,组合使用点,线和三角形代替实现。 WebGL 在电脑的 GPU 中运行。因此你需要使用能够在 GPU 上运行的代码。这样的代码需要提供成对的方法。每对方法中一个叫顶点着色器,另一个叫片断着色器,并且使用一种和 C 或 C… »

0%