手把手教你如何在生产环境检查 Vue 应用程序

开发 前端
在开发环境中,Vue devtools 是很有用。 但是,一旦部署到生产环境,它就不再可以访问我们所编写的代码。 那么发布到生产环境时,我们要怎么检查应用程序呢? 在这篇文章中,我们会介绍一些技巧,用来检查和调试我们的代码。

[[353540]]

本已经过原作者 Damian Mullins  授权翻译。

在开发环境中,Vue devtools 是很有用。 但是,一旦部署到生产环境,它就不再可以访问我们所编写的代码。 那么发布到生产环境时,我们要怎么检查应用程序呢? 在这篇文章中,我们会介绍一些技巧,用来检查和调试我们的代码。

触发 Prop 值并更新

除了弄清楚如何检查Vue内部变量外,我们还尝试更新组件属性值。

假设我们有一个组件,该组件的prop控制着一个元素的文本,那么我们如何强制改变该值以触发UI更新呢?

  1. <template> 
  2.   <h1>{{ msg }}</h1> 
  3. </template> 
  4.  
  5. <script> 
  6. export default { 
  7.   props: { 
  8.     msg: { 
  9.       type: String, 
  10.       default'' 
  11.     } 
  12.   } 
  13. }; 
  14. </script> 

找到 Vue 组件实例

首先,我们需要使用Chrome devtools elements面板找到组件的顶级元素。在本例中,元素是h1:

使用$0命令

一旦我们选择了元素,就可以在控制台中输入$0,$0表示最后选择的元素。$1是之前选择的元素,依此类推.它记得最后五个元素$0 – $4.

要查看Vue实例的详细信息,可以使用 $0.__vue__。

使用document.querySelector方法

我们还可以使用任何DOM查找方法(例如querySelector或getElementById等)来选择元素。这里我们将使用document.querySelector来查看 Vue 实例:

  1. document.querySelector('[data-v-763db97b]').__vue__ 

这里我们使用通过data 属性查找元素,但是你可以在querySelector中使用任何有效的CSS选择器。

锁定 prop 值

有了Vue组件实例的引用,我们就可以在控制台中展开它,看看里面有什么内容:

仔细看,在中间看到msg prop,单击三个点,就会看到当前值。

我们可以在控制台中使用下面命令查看prop值:

  1. // Using $0 
  2. $0.__vue__.msg 
  3.  
  4. // Using querySelector 
  5. document.querySelector('[data-v-763db97b]').__vue__.msg 

更新 prop 值

现在,更新prop值就是将变量重新赋值给它。因此,可以在控制台上这么做:

  1. $0.__vue__.msg = 'Hello from the updated value!' 

瞧,UI更新啦!

总结

在本文中,我们使用了Chrome devtools控制台来定位元素并检查相关的Vue组件实例详细信息,并操纵Vue实例对象以更新prop值。

需要注意的一件事是,更新不仅限于字符串值,还可以更新任何其他类型的属性,例如布尔值和数字。

当前这种更新方式也有局限性,例如无法更新计算的、属性,因为它们没有setter。但是,能够检查分配给生产中组件的值仍然非常有用。

作者:Damian Mullins, 译者:前端小智 来源:damimullins

原文:https://www.damimullins.com/inspecting-a-vue-applicaon-in-production/

本文转载自微信公众号「大迁世界」,可以通过以下二维码关注。转载本文请联系大迁世界公众号。

 

责任编辑:武晓燕 来源: 前端小智
相关推荐

2015-04-02 11:22:29

2020-12-21 09:47:16

UbuntuMinicondalinux

2022-11-28 08:23:14

IDEAGradle配置

2011-10-31 15:40:07

TouchpadAndroid

2011-09-19 10:43:19

Nuget

2022-12-07 08:42:35

2022-07-27 08:16:22

搜索引擎Lucene

2011-04-28 09:23:36

REST

2011-03-01 09:09:39

Ubuntuvsftpd安装

2011-01-06 10:39:25

.NET程序打包

2021-12-03 07:27:29

EFCore生产环境

2021-07-14 09:00:00

JavaFX开发应用

2011-01-10 14:41:26

2011-05-03 15:59:00

黑盒打印机

2014-08-08 13:22:54

测试手机站点移动设备

2022-06-06 08:50:40

CIOIT转型

2021-01-19 09:06:21

MysqlDjango数据库

2023-04-26 12:46:43

DockerSpringKubernetes

2022-03-14 14:47:21

HarmonyOS操作系统鸿蒙

2022-01-08 20:04:20

拦截系统调用
点赞
收藏

51CTO技术栈公众号