折腾了两天总算解决了,特此记录下问题及解决方法。希望可以帮到同样问题的你,接下来进入正题。
期望通过vscode的webview浏览vue应用
问题一、vscode的webview浏览vue应用时不显示(白板:如果你没有应用到样式的话)
出现该问题的主要有两个原因导致:
1、vue使用vue-router的history模式打包,生成后的dist需依赖服务才能访问(一般生产环境采用这种方式)
解决方案:变更vue-router的mode为hash模式,打包时vue.config.js中的publicpath设置为"./"。
完成上述两项配置,访问dist目录中的index.html时,就可以看到vue应用的内容了
2、vscode读取vue项目的index.html内容时,由于无法识别根目录导致资源加载失败
由于通过vscode-resource协议访问资源,无法定位到网站的根目录,通过在vue项目中index.html模板中添加
这时我们将打包好的dist目录拷贝到vscode工程中,在完成下图中的配置就可以访问到我们的vue项目了
二、vscode的webview浏览vue应用时,vscode控制台提示401无权限访问
出现这种情况大概率是因为访问的资源位置不正确导致的。
官方给出的解释:
由于webview读取本地资源是通过vscode-resource协议,vscode-resource只能访问下列地址的资源:
你的插件安装的目录用户当前激活的工作区所以当启动调试程序时,在打开的窗口中不要使工作区有项目,以免读取工作区内容。
避免上述问题后,如果还是出现401访问不到资源,检查代码在引用资源时是否是通过panel.webview.asWebviewUri转换的资源地址。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)