首先,在 Chrome ext 开发环境中使用 Vue devtools 启用。
经验
这几天我正在开发一个 Chrome 浏览器插件。我发现 __VUE_DEVTOOLS_GLOBAL_HOOK__ 未定义。
虽然不是什么大问题,但是我想解决。网上查了很多资料。
示例:
1.打开chrome-extension://<hash>/app.html
2.设置Vue.config.devtools为真
3.授予 Vue Devtools ext 文件访问权限
但一切都不起作用。
解决方案
众所周知,vue-devtools 是 Vue 生态系统的重要组成部分,但目前它与网络浏览器绑定。
但是现在有一个包提供了一个独立的 vue-devtools 应用程序,它可以用于调试任何 Vue 应用程序,无论环境如何。现在您可以调试在移动浏览器、Safari、本机脚本等中打开的应用,而不仅仅是桌面 chrome 或 firefox。
这个包名是vue-remote-devtools,它是一个独立的电子shell,用于远程调试Vue应用程序!
让我们试一试:
按照README.md 的步骤,
-
全局安装包:
npm install -g @vue/devtools
-
在您的终端中运行:vue-devtools
你会看到一个像这样的电子应用程序
3.将脚本标签注入到您的 Chrome 扩展程序 .html 文件中。
警告
由于 Chrome 的内容安全政策 (CSP) 对插件的限制,Chrome 扩展程序的 Web 请求可能会被阻止。
此时需要修改Chrome Ext配置文件manifest.js。
content_security_policy: "script-src 'self' 'unsafe-eval' http://localhost:8098; object-src 'self'"
虽然你可以将content_security_policy复制到对应的文件manifest.js,但还是希望你能搞清楚CSP是什么:
What is Content Security Policy (CSP)
终于
连接成功!
参考:
vue-remote-devtools
DevTools for Chrome Extension Development.