上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 499 下一页
摘要: Using T extends any ? {...} : never helps to see the type result Example: type DeepReadonly<T extends Record<string, any>> = T extends any ? { readonl 阅读全文
posted @ 2025-04-05 19:47 Zhentiw 阅读(25) 评论(0) 推荐(0)
摘要: 框架设计的权衡 框架设计里面到处体现了权衡的艺术。 在框架设计之初,我们的最初的构想往往是“既要....又要....”,但是往往现实是非常残酷的, 因此我们需要处处作出权衡。 框架的设计应该将其设计为命令式还是声明式 ? 框架需要设计成纯运行时还是纯编译时,还是设计为运行时 + 编译时 ? 这里只是 阅读全文
posted @ 2025-04-05 19:11 Zhentiw 阅读(40) 评论(0) 推荐(0)
摘要: 本文将带着大家使用 Node.js 快速制作一个 cli 工具,主要包含以下内容: 搭建 cli 整体框架 完善 cli 命令 搭建 cli 整体框架 首先,在桌面上新建一个 cli 工程目录 mycli,npm init -y 进行初始化,如下: cd desktop mkdir mycli cd 阅读全文
posted @ 2025-04-05 19:10 Zhentiw 阅读(234) 评论(0) 推荐(0)
摘要: 生成 JavaScript AST 我们要对整个模板的 AST 进行转换,转换为 JS AST。 我们目前的代码已经有了遍历模板 AST,并且针对不同的节点,做不同操作的能力。 我们首先需要知道 JS AST 长什么样子: function render(){ return null; } 上面的代 阅读全文
posted @ 2025-03-30 22:12 Zhentiw 阅读(33) 评论(0) 推荐(0)
摘要: 转换器 主要的目的是将模板的 AST 转换为 JS 的 AST,整个模板的编译过程如下: // Vue 的模板编译器 function compile(template) { // 1. 得到模板的 AST const ast = parse(template); // 2. 将模板 AST 转为 阅读全文
posted @ 2025-03-29 19:47 Zhentiw 阅读(66) 评论(0) 推荐(0)
摘要: 模板编译整体流程 首先我们看一下什么是编译? 所谓编译(Compile),指的是将语言 A 翻译成语言 B,语言 A 就被称之为源码(source code),语言 B 就被称之为目标代码(target code),这个事情谁来做?编译器来做。编译器你也不用想得那么神秘,就是一段程序而已。 完整的编 阅读全文
posted @ 2025-03-29 19:33 Zhentiw 阅读(97) 评论(0) 推荐(0)
摘要: pnpm + workspace 前置知识 思考🤔:什么是工作空间? 答案:工作空间可以看作是一个共享的区域,所有用于工作的资源都可以从这个区域获取到。 生活中工作空间 在这个工作空间中,通常会包含与工作相关的所有工具和资源,比如办公桌、电脑、文具和文件柜等。这个工作空间是一个集中完成特定任务的地 阅读全文
posted @ 2025-03-28 15:06 Zhentiw 阅读(361) 评论(0) 推荐(0)
摘要: Yarn Yarn 这个包管理器是在 2016 的时候由 Facebook、Google、Exponent 以及 Tilde 团队共同开发推出的。 当时 Yarn 的出现主要是为了解决 npm 在速度、安全性以及一致性方面的一些问题: 安装速度 确定性: 项目A > 直接依赖: libraryX(1 阅读全文
posted @ 2025-03-25 02:49 Zhentiw 阅读(86) 评论(0) 推荐(0)
摘要: 在企业应用开发中,很多时候我们要发布的包是私有的,npm上面倒是支持发布私有包,但是需要付费账号,因此更好的选择就是搭建私有服务器。 能够保证代码的私密性 因为是在局域网内部,因此下载速度更快 可以将发布的包做一些权限上设置,利于维护 Verdaccio Verdaccio 是企业开发中非常流行的用 阅读全文
posted @ 2025-03-25 00:14 Zhentiw 阅读(141) 评论(0) 推荐(0)
摘要: 要发布自己的包到 npm 上面,大致分为如下的步骤: 准备账号 配置 package.json 打包发布 准备账号 首先去 npm 官网注册一个账号:https://www.npmjs.com/ 注意在注册账号的时候,把邮箱也一并设置了,方便之后接收验证码。 账号注册完毕后,就可以在控制台通过 np 阅读全文
posted @ 2025-03-22 20:58 Zhentiw 阅读(140) 评论(0) 推荐(0)
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 499 下一页