错误排查

运行时出现错误

  • 开发调试:看 ide 中的错误检查
  • 前端错误:看浏览器开发人员控制台输出的错误
  • 后端错误:看后端日志输出的错误

开发时

页面调试

页面编译错误

错误检查

开发调试时出现错误,首先打开错误检查,选择当前页面,如果有错误,双击错误定位到具体错误,根据提示解决错误

编译Window失败

打开页面,显示编译WIndow失败,如下图所示

1744772226542

查看 Tomcat.log 文件,找到错误,下面这个错误说明数据集的关联引用配置的有问题

java.lang.NullPointerException
    at com.justep.ui2.system.component.data.restdata.RestDataModel.fixReferenceMapping(Unknown Source)
    at com.justep.ui2.system.component.data.restdata.RestDataModel.loadDataModel(Unknown Source)
    at com.justep.ui2.system.component.data.restdata.RestDataModel.loadDataModel(Unknown Source)
    at com.justep.ui2.system.component.data.restdata.RestDataModel.init(Unknown Source)
    at com.justep.ui2.system.component.data.restdata.RestDataModel.<init>(Unknown Source)
    at com.justep.ui.wx.component.TableBaseData.loadServiceDatas(TableBaseData.java:561)
    at com.justep.ui.wx.component.TableBaseData.getRestDataModel(TableBaseData.java:586)
    at RestData.initRestDataModel(RestData.java:236)
    at RestData.execute(RestData.java:82)
react 页面 JS 编译错误

打开页面,不显示页面,直接显示错误,这类错误是页面编译出错导致的。

下图为一种常见的错误:代码中写了 await,方法上没有注明 async。

  • 调试运行时报错,如下图所示

  • 正式运行时报错,如下图所示

仔细阅读错误,其中 xxx.user.js 就是 w 页面对应的 js 文件编译后的文件名,在 ide 中打开 xxx.js,定位到出错的行和列,如下图所示。结合提示的错误,解决错误

react 页面源码编译错误

报错中如果出现 xxx.component.js 或 xxx.build.js,如下面两张图所示,需要打开这些文件,查看报错的代码

查看 xxx.component.js

在预览页面上,点右键,选择查看框架源代码,打开新的页面

在打开的页面的地址栏中,保留 pcxapp 及前面的内容,将后面的内容替换为报错信息中 pcx 后面的路径及文件,例如:

view-source:https://testzx04166-zx0416-ide.g.xcaas.net/pcxapp/ 加上 pcx/zhuye.component.js,回车

这样就能看到 xxx.component.js 文件的内容了,找到错误中提示的行列,如果不能看出问题,可以往前面再看看。

查看 xxx.build.js

控制台报错如下:

    /usr/local/x5/model-user/.debug/pcx/pages/pcx/xiangmu_ch/xiangmu_glmb82.build.js:2058:522: ERROR: Expected ")" but found ";"

例如:ide的域名为:

    https://testzx04166-zx0416-ide.g.xcaas.net/

将 console 中 xxx.build.js 的路径 /usr/local/x5/model-user/.debug/pcx/pages 替换为 ide 的域名 /pcxapp 接口,替换后 build.js 的访问 url 为:

    https://testzx04166-zx0416-ide.g.xcaas.net/pcxapp/pcx/xiangmu_ch/xiangmu_glmb82.build.js

这样就能看到 xxx.build.js 文件的内容了,找到错误中提示的行列,查看具体的错误。

vue 页面编译错误

vue 的页面编译为两个文件

  • xxx.vue:由 w 文件和 js 文件生成
  • xxx.data.js:就是 data.js 文件

根据错误找到相应的代码

1726219852346

页面运行错误

运行时,界面显示错误,如下图所示,或者虽然不显示错误,但是执行没有效果或效果不对,这类错误是页面运行时错误。

打开浏览器的开发人员工具,从控制台的输出中找到这个错误,找到开发者自己的 JS 文件,文件后面还显示出错的行和列。

react 页面

调试运行时,开发者自己的 JS 文件是 xxx.user.js,如下图所示

打开该文件,定位到出错的行和列,这就是出错的地方

img

vue 页面

调试运行时,页面文件是 vue 和 data.js 文件,如下图所示,打开该文件,定位到出错的行和列,这就是出错的地方

1726220122251

服务调试

服务编译错误

云 IDE 中服务编译的错误显示在 tomcat 的日志中,如下图所示

1726220938530

服务运行错误

从控制台里面看到是请求出错,这就是后端服务出错,如下图所示

切换到网络页,查看请求的标头、载荷和预览,如下图所示

还可以查看后端日志,在 ide 中切换到代码页,打开 logs/java-runtime.log 文件,这是后端日志文件,如下图所示

运行时

打开浏览器的开发人员工具,看控制台和网络中的错误

页面报错

react 页面

正式运行时,开发者自己的 JS 文件是 pages_pcx_xxx_component_js,打包时 JS 文件名的生成规则是:_pages目录文件名_component_js随机数.js。例如

  • 在 ide 中的路径是:model/UI2/pcx/findError/codeError.js
  • 打包后的路径是:_pages_pcx_findError_codeError_component_js_xxx.js

如下图所示

打开该文件,定位到出错的行和列,这就是出错的地方

vue 页面

正式运行时,页面文件和调试运行时一样,仍然是 vue 和 data.js 文件,如下图所示

1726220699790

请求报错

正式运行时,从网络请求的响应标头中获取 POD 的名称,如下图所示

  • 第一个 X-Kong-Proxy-Latency 的后面是当前应用使用的 POD的名称
  • 第二个 X-Kong-Proxy-Latency 的后面是企业门户应用使用的 POD 的名称

从应用服务管理中打开当前应用的监控,如下图所示

切换到响应标头中返回的 POD 名称,在 POD 日志中,切换到 java-runtime 的日志,如下图所示

打开错误中提到的文件,定位到出错的行和列,这就是出错的地方

results matching ""

    No results matching ""