热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

EASBOSWaf2框架前端调试技巧

Waf2框架前端调试技巧一、调试模式与运行模式EAS前端运行模式分为运行模式和Debug模式。1.1运行模式:每个界面的JS都会被打包并且混淆,并将多个JS压缩

                                                                                Waf2框架前端调试技巧


一、调试模式与运行模式

EAS前端运行模式分为运行模式和Debug模式。

1.1 运行模式: 每个界面的JS都会被打包并且混淆,并将多个JS压缩到一个链接中。

1.2 Debug模式: JS的加载是单个加载的,如果想调试某个页面,可以在URL中加上&debug=true这样所有页面都以DEBUG模式加载JS。

注意: 前端调试请在debug模式下调试即url中需要有debug=true参数(调试快捷键ctrl shift alt d)。


常见问题

Debug模式生效非debug模式不生效

解决方案

在线打包


二、静态化缓存与文件缓存

单据在第一次打开之后,会生成对应的文件缓存(存放在文件目录)以及静态化缓存(存放数据库)。当单据再次打开时会优先加载缓存的内容。

文件缓存存储目录:server\deploy\easweb.ear\eas_web.war\webviews\webframework\temp。

静态化缓存存储表:t_dyn_staticwebpage.

注意: 为了避免缓存对调试的影响,url中可以加上renderModel=client参数,可以用快捷键打开进行调试。


常见问题

在某个js文件中改变dom元素不生效

解决方案

保存配置页面或者清除t_dyn_staticwebpage这个库里的数据


三、标准页面与扩展页面

分析问题时,需要先确定加载的标准页面还是扩展页面,这个涉及到排查问题的根源,扩展页面涉及到二开内容,可能会对标准产品产生较大影响,所有出现程序错误的概率要高很多。

那么如何确定出现问题的页面是标准页面还是扩展页面?


  1. ctrl shift alt d调试打开页面,获取页面url里的uipk参数后缀;
  2. F12打开调试工具,ctrl+p搜索此后缀,如果搜索到了扩展js文件,则说明为扩展页面;                                                                                                                                                                 
  3. 反启用扩展方案后,再次进入页面为标准页面,可以观察分析得出是标准页面出现问题还是扩展页面出现问题。

 


四,调试技巧


调试技巧1——事件总线调试

在waf2框架的页面加载以及事件处理过程中,用到了事件总线进行事件管理,通过事件总线,可以方便的进行调试。

事件总线JS:ctrl p搜索文件eventbus.js


事件总线触发方法:firevent.

通过事件总线,可以获取到程序异常产生的大致范围在哪个事件,然后再去详细分析这个事件所执行到的代码,最终定位问题。


调试技巧2——监听DOM

Chrome浏览器:右键页面上的dom元素,可以发现有个Break On选项,可以监听dom变化,当dom变化时可以再观察堆栈定位dom变化产生的原因,最终定位问题。

https://www.yunzhijia.com/docrest/file/downloadfile/5f02c788d85b84000131559d?big

 

 


调试技巧3——监听浏览器事件

 

在不清楚代码逻辑的情况下,可以采用此方式逐层跟踪代码,最终获取代码实现之处。

 


调试技巧4——监听请求


 

对异步请求设置监听,每次请求时都会进入断点,然后根据堆栈可以看出请求来源,再根据请求来源分析参数来定位问题原因。


调试技巧5——样式分析

样式优先级:

!important样式优先级 > 行内样式 > 样式类

样式类之间样式优先级根据样式权重决定。

 

如何观察dom元素实际使用的样式:

        

通过dom元素界面看computed页签可以确定当前加载的样式。

鼠标移上去才能出现的样式可以模拟操作来进行


五,调试工具与快捷键

Ctrl shift alt s 打开web实用开发功能

Ctrl shift alt d 打开调试界面

Ctrl shift alt m 打开性能分析工具

Ctrl shift alt p 清除文件缓存

Ctrl shift alt c 打开页面全局配置

注:部分版本可能不支持


六,常见调试入口


6.1轻提示类信息调试入口 wafmsgarea.js  show方法

 


6.2 弹窗类提示信息调试入口 wafmsgBox.js  showConfirm等方法

 


6.3 表格格式化调试入口grid.waf.js  $.fn.fmatter

 


6.4 表格刷新调试入口 grid.wafbase.js  搜索‘realoadGrid’

 


6.5 通用查询过滤条件调试入口 wafBizCommonQuery.js  reloadDataGrid方法

 


6.6 表单校验调试入口 webviews/webframework/ctrls/validator/js/validator.js  validateForm方法

 


6.7 页面控件渲染入口 /webframework/core/waf/pagerBuilder.js  _buildComponent方法

 


6.8 F7控件创建调试入口 webviews/bs_f7_web/f7/resources/js/jquery.ui.f7.js  _create方法

 


6.9 F7控件打开调试入口 webviews/bs_f7_web/f7/resources/js/jquery.ui.f7.js  open方法

 

 


推荐阅读
  • 本节书摘来自华章计算机《Web前端开发最佳实践》一书中的第2章,第2.2节,作者:党 建更多章节内容可以访问云栖社区“华章计算机”公众号查看。2.2 前端代码重构代码 ... [详细]
  • python自学教程哪里好,python比较好的教程
    本文目录一览:1、想学python去哪里比较好? ... [详细]
  • 上次我们总结了React代码构建后的webpack模块组织关系,今天来介绍一下Babel编译JSX生成目标代码的一些规则,并且写一个简单的解析器,模拟整个生成的过程。我们还是拿最简 ... [详细]
  • jquery popupDialog 使用 加载jsp页面办法
    php教程|PHP开发jqueryphp教程-PHP开发如下所示:软件市场源码,vsCode字体不变,ubuntu的所有版本,taotomcat,sqlite连接php,个人域名服 ... [详细]
  • socket.io是个基于node.js的快平台实时通讯框架。只用不到10行代码,就可以搭建一个简单的多人实时聊天室。先来看看运行后的效果:socket.io多人聊天室只要简单几 ... [详细]
  • 互联网世界 9 种基本的商业模式
    互联网世界9种基本的商业模式一个商业模式是运行一个公司的方法;通过该模式的运作,一个公司能维持自己的生存,就是说,能有收益。商业模式意味着一个公司是如何通过在价值链中定位自己,从而获 ... [详细]
  • UDP协议开发
    UDP是用户数据报协议(UserDatagramProtocol,UDP)的简称,其主要作用是将网络数据流量压缩成数据报形式,提供面向事务的简单信息传送服务。与TCP协议不同,UD ... [详细]
  • MQ的使用
    安装环境:linuxredhatactivemq版本:5.8.01.从http:activemq.apache.orgdownload.html地址下载 ... [详细]
  • 一、域名解析记录说明记录类型A:用来指定域名的IPv4地址(如:8.8.8.8),如果需要将域名指向一个IP ... [详细]
  • 媒介这里大部份是本身碰到过的状况,另有一部份自创了偕行的文章,假如人人有碰到别的坑,迎接提出来一同研讨。学问要点1.Meta标签1.制止用户缩放页面,页面强迫让文档的宽度与装备的宽 ... [详细]
  • hadoop完全分布式搭建
    原文链接:hadoop完全分布式搭建主机分配以及地址要求:角色主机名IP地址Namenodemaster192.168.222.201Datanodeslave ... [详细]
  • 《ASP.NET MVC 4 实战》 1.3  ASP.NET MVC 3/4的新特性
    本节书摘来自异步社区《ASP.NETMVC4实战》一书中的第1章,第1.3节,作者:【美】JeffreyPalermo,【美】JimmyB ... [详细]
  • 这一篇主要总结一下jQuery这个js在引入的时候做的一些初始化工作第一句window.undefinedwindow.undefined;是为了兼容低版本的IE而写的因为在低版本 ... [详细]
  • Ubuntu16.0464位安装armlinuxgcc交叉编译器以及samba服务器
    交叉编译器是嵌入式开发的必要工具,但是由于目前大多数人使用64位ubuntu,在照着很多教程做的时候,就会失败,失败原因是64位ubuntu需要额外安装32位的兼容包。以arm-l ... [详细]
  • 13Linux基本命令和配置服务器来电后自动开机
    本节所讲内容:Linux终端介绍Shell提示符BashShell基本语法基本命令的使用:ls、pwd、cd查看系统和BIOS硬件时间Linux如何获得 ... [详细]
author-avatar
日月阁文玩都汇
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有