1:在执行 pnpm dev 后 或者 来回关闭 pnpm dev 指令后 会出现生成多余文件 2:关闭pnpm dev指令后,继续编辑 vue并保存,仍会出现热更新的打印在增加,但视图并不会变化
@liutaigang 又发现了几个问题,要麻烦你解决一下 感谢! 1:在执行 pnpm dev 后 或者 来回关闭 pnpm dev 指令后 会出现生成多余文件,但该问题并非 100% 复现,但几率不低
![]()
https://github.com/user-attachments/assets/a49ce7a5-91dc-40f0-ad79-9dbc7241e7af
2:关闭pnpm dev指令后,继续编辑 vue并保存,仍会出现热更新的打印在增加,但视图并不会变化
https://github.com/user-attachments/assets/95317f54-a037-4f9f-97dc-1ca70de18204
Originally posted by @a306796405 in #9
问题 1:
这个问题可能的原因是,在 serve 模式下,为了图片等资源的正常加载,插件 vite-plugin-vscode-webview-hmr 会将 webview 项目的 src 文件软连接到打包目录下,如图:
这个问题我暂时没有找到解决的方案。但是也许可以通过具体的制定软连接的目录(一般为资源目录,目前只可以指定一个目录)规避,请参考下这个 commit 9140c6b
问题 2:
pnpm dev 会同时执行三个命令:
"dev:extension": "pnpm run -F extension watch",
"dev:view-vue": "pnpm run -F view-vue dev",
"dev:view-react": "pnpm run -F view-react dev",
原因可能是 一次 Ctrl + C 没有将它们全部关闭,多次执行 Ctrl + C 也许可以
问题 1 vscodeWebviewHmr({ linkDir: './src/assets', }),
这么设置应该是解决了生成多余文件的问题,但我想问一下 看你原先linkDir配置的默认值是'src',改了会有什么影响吗?
问题 2 多次Ctrl + C 还是不能关闭热更新的打印
@a306796405
问题一:
vite-plugin-vscode-webview-hmr 的 v1.0.1版本的主要升级是支持两种模式,分别为 serve 和 iframe ,默认是 serve 模式。iframe 会有 #9 的那种问题,serve 可以克服,它的原理是:将 vite 在运行 serve 时生成的 index.html ,经过处理后,生成为 outDir 指向目录中的 index.html 文件,提供给 extension 加载。index.html 被加载运行起来后,其会在当前目录(outDir 确定的目录)寻找资源文件资源,所以 vite-plugin-vscode-webview-hmr 会在 outDir 确定的目录中创建一个指向前端项目 src 目录(可以自定义,默认为 src)的软连接。
目前,我无法评估在实际的项目中,这样修改的影响。但是你的这个问题让我想到了有其他的方案也许可以不使用软连接。我继续升级下 vite-plugin-vscode-webview-hmr
问题二:
我在看看有没有其他的方案
感谢大佬 @liutaigang