所有文章

  • Published on
    这个`src/client/client.ts`是HMR的客户端,我们之前提到过,HMR是通过WebSockets来做的,那它肯定是需要一个客户端和一个服务端的,通常就是客户端来连接服务端,然后服务端在特定条件下发送消息,客户端接收并处理消息,我们来看下代码主结构:
  • Published on
    这个`serverPluginCss`是用来处理CSS文件的,因为在vite里面CSS(包括SCSS这种预处理器)和JSON都被处理成JS module,然后再由HTML里面注入的`src/client/client.ts`来更新页面。
  • Published on
    这个`serverPluginClient`是HMR的一部分,它是负责在注入客户端WSS代码的时候,替换里面的协议域名和端口号,这些数据是从配置里面读取的。
  • Published on
    通常我们开发的网站,第一次加载的就是HTML页面,vite会改写这个HTML,这是通过`src/node/server/index.ts`里面的`htmlRewritePlugin`来实现的。
  • Published on
    首先入口文件是`bin/vite.js`,那`bin/vite.js`又是调用的`../dist/node/cli`,这个脚本是在我们编译之后才会有的。具体的编译方法,我们可以参考`package.json`里面的`scripts`。
  • Published on
    解读准备主要是要能够修改源代码,然后用我们修改后的代码来运行一个test程序,知道具体运行过程中的一些数据,验证我们的推想。