Published on2021年3月23日腾讯极客技术挑战赛第三期vite源代码在一个腾讯技术群里看到这个比赛,就顺手点开看了下,本以为会是算法比赛或者安全比赛。我尝试了一下之后,发现我也可以搞搞,因为是前端相关。我并不是专业搞安全的,也未能拿到很好的名次(69/927),不过在做题的过程中,我能突破自我,能想办法解决这些问题,还是很有成就感的。
Published on2021年3月22日vite-1.0 serverPluginHmr文件解读vite源代码超快的HMR也是Vite的卖点之一,HMR的功能是通过[客户端](/posts/2021-03-17-vite-1.0-HMR-client)和这个服务端的插件来共同完成的。
Published on2021年3月17日vite-1.0 CSS插件解读vite源代码这个`src/client/client.ts`是HMR的客户端,我们之前提到过,HMR是通过WebSockets来做的,那它肯定是需要一个客户端和一个服务端的,通常就是客户端来连接服务端,然后服务端在特定条件下发送消息,客户端接收并处理消息,我们来看下代码主结构:
Published on2021年3月16日vite-1.0 CSS插件解读vite源代码这个`serverPluginCss`是用来处理CSS文件的,因为在vite里面CSS(包括SCSS这种预处理器)和JSON都被处理成JS module,然后再由HTML里面注入的`src/client/client.ts`来更新页面。
Published on2021年3月16日vite-1.0 client插件解读vite源代码这个`serverPluginClient`是HMR的一部分,它是负责在注入客户端WSS代码的时候,替换里面的协议域名和端口号,这些数据是从配置里面读取的。
Published on2021年3月15日vite-1.0模块解析插件解读vite源代码这个`serverPluginModuleResolve`文件也是vite 1.0里面非常重要的一个文件,我们需要仔细分析一下,整体结构如下:
Published on2021年3月9日vite-1.0模块重写插件解读vite源代码这个`serverPluginModuleRewrite`文件是vite 1.0里面非常重要的一个文件,我们需要仔细分析一下,整体结构如下:
Published on2021年3月8日vite-1.0 serverPluginHtml文件解读vite源代码通常我们开发的网站,第一次加载的就是HTML页面,vite会改写这个HTML,这是通过`src/node/server/index.ts`里面的`htmlRewritePlugin`来实现的。
Published on2021年3月7日vite-1.0启动代码解析vite源代码首先入口文件是`bin/vite.js`,那`bin/vite.js`又是调用的`../dist/node/cli`,这个脚本是在我们编译之后才会有的。具体的编译方法,我们可以参考`package.json`里面的`scripts`。
Published on2021年3月6日vite-1.0源代码解读准备vite源代码解读准备主要是要能够修改源代码,然后用我们修改后的代码来运行一个test程序,知道具体运行过程中的一些数据,验证我们的推想。
Published on2021年3月6日vite-1.0简单介绍vite源代码vite是通过使用[ES Module](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules)来实现开发环境秒开,快速HMR的。这个ES Module说白了我们前端开发者应该每天都在用,因为我们都在用import,export来导入导出模块。不过如果你还是用的CommonJS的require,那就不是ES Module。
Published on2021年3月5日vite-1.0源代码解读vite源代码置顶最近在看vite的源代码,入手的是1.0.0-rc13,目前vite的版本是2.0,先写下这个解读过程,然后再分析2.0的。