Angular 调试工具(Augury)

 

目录

1、简介

2、检验代码

3、Angury 本地构建和安装

3.1 添加到Chrome 浏览器:

3.2 添加到Firefox浏览器

4、项目中对应的Npm脚本

5、Augury 三大主要功能

5.1 组件树(Component Tree)

5.1.1 Component Tree

5.2 路由树(Router Tree)

5.3 NgModules

6、Angury 扩展设置

7、其他问题

8、支持 enableDebugTools()


1、简介

Augury是Chrome& Firefox Developer Tools扩展,用于调试Angular 2+应用程序。

github地址是:https://github.com/rangle/augury

您可以从以下位置安装扩展:

  • Chrome 应用商店
  • Fixfox 附加组件
  • Augury 源码编译

2、检验代码

Augury仅适用于Angular 2+应用程序。一个硬性要求是Angular应用程序在开发模式下运行,这是由于安全限制。如果您打算阅读原始源代码,那么生成源映射是个好主意。否则,您将被迫使用编译后的JavaScript代码。

如果是在生成环境,浏览器调试工具,会有一下提示

3、Angury 本地构建和安装

 要安装Angury扩展,需要准备以下环境:

  • Node
  • Npm
  • TypeScript

构建,请执行以下步骤:

git clone git://github.com/rangle/augurycd augury
npm install
npm run build:dev

3.1 添加到Chrome 浏览器:

1、导航到 chrome://extensions 并启用开发者模式,或者单击浏览器右上角->【扩展程序】->【管理扩展程序】,如下图所示:

2、选择“加载未打包的扩展”。

3、在对话框中,打开刚刚克隆的目录。

添加成功之后,如下如所示:

3.2 添加到Firefox浏览器

1、导航至about:debugging#addons以加载附加组件。

2、单击加载临时附加组件

3、在对话框中,打开刚刚克隆的目录,然后选择manifest.json文件。

4、项目中对应的Npm脚本

要查看所有可用的脚本,请键入npm在终端中运行。以下命令是您将主要使用的命令。

Command命令

Description说明

start

Clean build and run webpack in watch mode

在监视模式下清理构建和运行webpack

webpack

Runs webpack in watch mode

在监视模式下运行webpack

build

Builds the extension

构建生成扩展

clean

Clean the build directory,
清理build目录,

test

Bundle all *.test.ts and run it through a headless browser

捆绑所有 *. test.ts并通过无头浏览器运行

lint

Run tslint on all source code
在所有源代码上运行tslint

pack

Packages the extension for browser specific builds

为浏览器特定的生成打包扩展

5、Augury 三大主要功能

5.1 组件树(Component Tree)

Angular 应用程序采用组件结构构建。它通常是组件中的组件,最终形成一个组件树。Augury使您能够可视化和检查组件树,同时访问这些组件的各种属性,所有这些都在Chrome开发工具中。启动应用,如下图所示:

在开发工具Augury标签中,可以组件树的目录展示效果,里面包括3个子标签页面。

1、Component Tree

2、Router Tree

3、NgModules

5.1.1 Component Tree

组件树分为左侧和右边2片区域。

左侧区域:

上面显示的是各个的组件的树形结构。下面搜索框是可以模糊搜索出对应的组件。

右侧区域:

包括2个标签页面(Properties、Injector Graph)

Properties

单击【View Source】链接可以跳转到这个组件对应的源文件里面,这在开发调试的时候还是很有用的,如果组件嵌套太深的找起来也会比较麻烦。

选中app.component.ts组件,单击跳转到了这个源文件里面。如下图所示:

$$el: 把项目整个节点树绑定到window对象,在console面板中可以进行查看,如下图所示:

 下面区域则是改变检测,检测的是当前组件,对应的相关属性,和相关的一些依赖。在这里我们可以看到当前组件定义的所有state,以及改变之后的值,以及一些相关依赖的展示。

Injector Graph

 该标签页包括2部分内容:

1、组件层级

2、注入图

5.2 路由树(Router Tree)

该标签页展示的是项目对应路由树。如下图所示:

5.3 NgModules

展示的是项目对应的Module信息,包括以下及部分信息:

  • Imports

  • Exports

  • Providers

  • DEclaraations

  • ProviderInDeclaration

6、Angury 扩展设置

Angury标签里面,右上角包括3部分:

1、版本号(Angular Version: 5.1.1)

2、刷新按钮

3、设置按钮(...)

单击设置按钮,如下图所示:

设置弹出窗口包括三部分设置:

第一部分:主题选择

第二部分:组件渲染模式

1、Hybrid view (只有在Angular中设置了属性的元素才会包含在树视图中)

 2、All components and elements(在树视图中显示所有组件和元素)

3、Components only(仅显示树视图中的组件)

 

 第三部分:使用数据(是否允许收集使用数据以帮助改进Augury)

7、其他问题

日期polyfill core-js/es6/date会在字符串化组件时引发异常。若要解决此问题,请在开发环境中排除此polyfill。

8、支持 enableDebugTools()

在Angular 2.2.0之前, enableDebugTools()会破坏ng.probe,从而破坏Augury。在该版本之前,此解决方法将绕过该问题。

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/36079.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【DBA课程-笔记】MongoDB入门到云上开发

课程目的:成为专业MongoDB的DBA nosql第一:MongoDB 一、讲师: 二、课程目录 第1章:MongoDB数据库入门 第2章:MongoDB数据数据查询与分析 第3章:MongoDB数据库核心知识 第4章:MongoDB数据库…

基于单片机智能加湿器 水位防干烧加湿器的设计与实现

功能介绍 以51/STM32单片机作为主控系统;LCD1602液晶显示当前温湿度,当前模式,湿度下限;按键设置湿度下限,当湿度低于下限时开启加湿器;水位传感器检查加湿器是否有水,如果没有水到话加湿器不进行工作,蜂鸣…

做题遇见的PHP函数汇总

mb_substr函数 mb_substr() 函数返回字符串的一部分,之前学过 substr() 函数,它只针对英文字符,如果要分割的中文文字则需要使用 mb_substr() 语法: mb_substr ( $str ,$start [, $length NULL [, $encoding mb_encoding() ]] …

ARM架构(寄存器点灯)

文章目录 前言一、LED原理图二、使用寄存器点灯的步骤三、如何操作寄存器四、实际操作1.使能GPIO端口2.将引脚设置为输出模式3.设置输出状态 五、全部代码总结 前言 本篇文章我们来讲解一下如何使用寄存器点亮一个LED灯,一般对于新人来说都是使用HAL库或者标准库来…

交通 | 针对Close-Enough旅行商问题的一种分支定界算法

论文解读​:王飞龙,曲晨辉 1、问题背景 \qquad 旅行商问题(TSP)是一种众所周知的路径问题。TSP的目标是在图 G ( V , E ) G(V,E) G(V,E)中找一条以场站为起终点的最短路,访问所有客户点 V V V,同时没有子环路。令 E E E表示网络中…

实训笔记7.4

实训笔记7.4 7.4一、座右铭二、IDEA集成开发环境的安装和使用三、DEBUG断点调试四、Java设计模式4.1 适配器模式4.2 动态代理模式4.3 单例设计模式 五、Java中网络编程5.1 网络编程三个核心要素5.2 TCP网络编程 六、基于网络编程的聊天系统6.1 需求分析6.2 系统设计6.2.1 概要设…

VirtualBox安装Ubuntu(22.04.2)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

RabbitMQ学习笔记9 TTL死信队列+延迟队列实战

我们去新建一个交换机: 然后我们再用这种方法直接创建一个队列: 点击bind这样我们的交换机和队列就绑定到一起了。 然后我们要新建普通队列,设置过期时间,指定死信交换机。 发布一条消息。 它会把队列传递到死信队列中去。

SpringBoot整合SpringSecurity认证与授权

唠嗑部分 在项目开发中,权限认证是很重要的,尤其是一些管理类的系统,对于权限要求更为严格,那么在Java开发中,常用的权限框架有哪些呢? 推荐的有两种,Shiro 与 SpringSecurity,当然…

GC回收器演进之路

目录 未来演进方向 历经之路 引用计数法 标记清除法 复制法 标记整理 分代式 三色标记法的诞生 三色标记法的基本概念 产生的问题 问题 1:浮动垃圾 问题 2:对象消失 遍历对象图不需要 STW 的解决方案 屏障机制 插入屏障(Dijks…

故障:启动修复无法修复你的电脑

有台笔记本很久没用了无法开机了,还是用的win7的系统,开机后提示我使用启动修复,但是失败了,提示我启动修复无法修复你的电脑 启动修复无法修复你电脑怎么办_自动修复电脑未正确启动的解决方法-win7之家 1、上网查了下…

Mybatis-SQL分析组件 | 京东云技术团队

背景 大促备战,最大的隐患项之一就是慢sql,带来的破坏性最大,也是日常工作中经常带来整个应用抖动的最大隐患,而且对sql好坏的评估有一定的技术要求,有一些缺乏经验或者因为不够仔细造成一个坏的sql成功走到了线上&am…

基于单片机智能衣柜 智能衣橱 换气除湿制系统紫外线消毒的设计与实现

功能介绍 以51单片机作为主控系统;液晶显示当前衣柜温湿度和柜门开启关闭状态;按键设置当前衣柜湿度上限值、衣柜门打开和关闭,杀菌消毒;当湿度超过设置上限,继电器闭合开启风扇进行除湿;进行杀菌消毒时&am…

zk-IMG:对抗虚假信息

1. 引言 前序博客: ZKP图片授权——PhotoProof:proofs of permissible photo edits Daniel Kang等人2022年论文《ZK-IMG: Attested Images via Zero-Knowledge Proofs to Fight Disinformation》,在该论文中提供了一个简单的deep fake ima…

Web安全——渗透测试基础知识下

渗透测试基础 Web安全一、VMware虚拟机学习使用1、虚拟机简单介绍2、网络模式2.1 桥接网络(Bridged Networking)2.2 NAT模式2.3 Host-Only模式 3、通俗理解 二、Kali的2021安装与配置1、简单介绍2、Kali的版本3、配置3.1 安装虚拟机open-vm-tools-deskto…

IDEA中集成zookeeper的插件

IDEA中集成zookeeper的插件 一、IDEA中集成插件 搜索插件并安装: 安装完成,重启IDEA 配置zk集群 连接成功

哪家好用?四款国内外远程桌面软件横测:ToDesk、向日葵、TeamViewer、AnyDesk

一、前言 远程桌面软件对于职场人来说并不陌生,可以说是必备的办公软件之一。在经历过新冠疫情后,大家对于远程办公的认识越来越深入,也就在这段期间,远程桌面软件大范围的应用起来,真正走进大众视野并融入我们的工作和…

记一次阿里云被挖矿处理记录

摘要 莫名其妙的服务器就被攻击了,又被薅了羊毛,当做免费的挖矿劳动力了。 一、起因 上班(摸鱼)好好的,突然收到一条阿里云的推送短信,不看不知道,两台服务器被拉去作为苦力,挖矿去…

wireshark学习

抓包原理 哪种网络情况可以抓到包?(1)本机环境(2)集线器环境(3)交换机环境 交换机环境目前较为常用,这也分为三种情况(1)端口镜像(2&#xff09…

生产环境 kafka 平滑迁移之旅

文章目录 背景分析测试环境验证现实很残酷两种抉择-----leader分区切换方案选择实施步骤手工副本集增加步骤手工leader分区切换步骤 总结 背景 线上kafka集群,3台机器,3个broker;其中某台机器因为硬件故障,需要停机维修&#xff…