- Published on
vite-1.0 client插件解读
- Authors
- Name
- 祝你好运
这个serverPluginClient
是HMR的一部分,它是负责在注入客户端WSS代码的时候,替换里面的协议域名和端口号,这些数据是从配置里面读取的。 主流程就是这样的:
- 客户端请求HTML页面
- 服务端通过
serverPluginHTML
注入导入/vite/client
的代码 - 客户端浏览器发请求获取
/vite/client
文件 - 服务端通过
serverPluginClient
这个插件来替换变量。
看明白主流程之后,再看下面的具体代码就很简单了。这里的协议也可以替换的,因为有可能是HTTP协议,也可能是HTTPS协议,这个在src/node/server/index.ts
的150行的resolveServer
里面有处理。47行以后的代码的是处理历史遗留问题,可以不看。
