跳到正文

热重载 ​

机器翻译

本页由英文原文机器翻译而来,尚未经过母语审校,欢迎在 GitHub 上提出修改。内容如有出入,以英文原文为准。

编写应用时,每当你保存组件或静态文件,quantum start --hot-reload 都会重新加载浏览器中打开的页面。你不需要重启服务器,也不需要按 F5。

bash
quantum start --hot-reload

服务器照常打印它的地址。打开一个页面,编辑 components/ 下的某个 .q 文件,保存,页面就会显示改动。

改动时发生了什么 ​

服务器监视 quantum.config.yaml 中的两个文件夹:paths.components 和 paths.static。它提供的每个页面都会打开一个连接到监视器的 WebSocket。

你保存了打开的页面
.q、.html、.js、.yaml 或 .yml 文件重新加载。表单中已输入的内容会保留
只有 .css 文件重新获取样式表,不重新加载
不再能解析的 .q 文件不重新加载。它们在页面上方显示该文件和解析错误,直到你修正

改动会被合并:一次保存多个文件只会触发一次重新加载。

改动后页面会被重新读取,即使打开了 performance.cache_templates。Python 代码(服务、q:python)不会被重新加载: 为此请设置 server.reload: true,它会在 .py 文件变化时重启服务器。

选项 ​

参数含义
--hot-reload监视项目并重新加载打开的页面
--hot-reload-port N页面连接的 WebSocket 端口。默认 35729

不使用 --hot-reload 时,不监视任何内容,也不会向页面添加任何东西。热重载是给你自己的机器用的:页面连接到 localhost。

故障排除 ​

页面不重新加载。 打开浏览器控制台:客户端连接时会记录 [Hot Reload] Connected to dev server。如果它一直尝试重连, 可能有其他程序占用了 35729 端口。用 --hot-reload-port 和一个空闲端口启动。

改动没有被察觉。 只有 paths.components 和 paths.static 下的文件会被监视。请在 quantum.config.yaml 中检查这两个路径。

本页背后的规则是规范中的 DEV-4。

MIT 许可证 · 使用 VitePress 构建