文档中心 > 店铺动态卡片-开发指引

千牛(Windows 版)真机调试

更新时间:2023/02/13 访问次数:16300

一、概述


在 PC 千牛中调试小程序有两种方式:

1)IDE 真机调试;

2)Chrome 远程调试;

前者需要 IDE 中生成真机调试的预览 URL,后者可以是普通的预览 URL;前者会打开 IDE 的真机调试面板进行调试,后者需要使用 Chrome 去连接调试端口。两种方式在千牛中的预览入口时一样的。

 

二、千牛预览入口


在千牛中预览小程序,对等于移动端的扫码预览。步骤如下:


1. 打开系统设置。


image.png


2. Ctrl+Shift+右键单击导航栏空白处,显示“开发者设置”。


image.png


3. 切换到“开发者设置”。


image.png


4. 将预览 URL 填入,点击“打开”,这时会在工作台打开小程序,您可以测试小程序的功能。


image.png

 

三、获取预览 URL

1. 获取普通预览 URL


在 IDE 工具栏选择预览,等二维码生成后,点击二维码,IDE 会将预览包 URL 复制到剪贴板。


image.png


2. 获取真机调试预览 URL


在 IDE 工具栏选择真机调试,等二维码生成后,点击二维码,IDE 会将预览包 URL 复制到剪贴板。


image.png

 

如果您修改了代码,需要重新生成预览 URL。

 

四、IDE 真机调试


真机调试步骤如下:

1)获取到真机调试预览 URL;

2)将预览 URL 填到千牛开发者设置中,打开小程序;

3)IDE 会自动打开真机调试面板,如下图:


image.png


您可以在像在 Chrome 开发工具中调试前端代码一样调试您的小程序。


五、Chrome 远程调试

1. 打开调试开关


1)在刚才的开发者设置中点击“打开配置文件”。


image.png

image.png


2)将红框部分的 false 改成 true,保存,并且重新打开小程序即可。

 

3)如果打开小程序时遇到下面这样子的报错:


image.png


请检查配置文件的语法,要符合 JSON 语法。留意红框后的逗号,有没有在修改成 true 的时候不小心删除了。

整个文件支持 // 注释,但不支持尾逗号。

该配置文件也支持针对特定小程序配置端口号,每个小程序插件也可配置单独的端口号。具体请按照注释部分的写法进行配置。

实际配置文件位于【千牛安装目录\WINDMILLResource\runtime_v8\setting.json】,您也可以手工修改。

 

2. 使用 Chrome 远程调试


1)打开调试开关以后,先正常预览小程序(可以是普通预览 URL),然后用 Chrome 打开地址:

devtools://devtools/bundled/inspector.html?ws=127.0.0.1:9225

可进入 JS 调试环境。

2)如果您配置了不同的端口号,请按实际端口号修改 URL 即可。

 

针对这一步可能遇到的问题,我们准备了下面的 Q&A,请对照处理。

 

Q:为什么连接不上,总是提示重新连接?


image.png


这种情况是本地 9225 端口没开导致。请确认:

1)要调试的小程序是否已打开;

2)调试配置文件是否修改成功;

如果您是手工使用修改配置的,请使用管理员权限打开文本编辑器后,然后打开配置文件进行编辑。非管理员权限运行的文本编辑器在保存失败后可能没有任何提示,文件会被重定向。这也可能导致配置文件实际上没有修改。您可以关闭文件后重新打开,确认配置文件是否修改成功。

 

如果问题依然存在,请联系技术支持。

 

Q:连接上了,但是好像不是我的小程序?

如果是按照默认端口配置的,也就是 9225 端口,那么,只有第一个被打开的小程序才能成功占用该端口。所以请确认有没有别的小程序先于您的小程序被打开了。请注意,打开聊天窗口(客服面板)会自动启用千牛 SOP 小程序(即使当前没有工单也会启动),如果打开您的小程序之前打开过聊天窗口,也会导致端口被千牛 SOP 占用。另外,同时开好几个千牛,也可能导致别的千牛进程先占用了 9225 端口号。请根据您的实际情况确认原因。解决方案有如下几个:

1)调试时避免千牛多开。如果一定要多开,不要多个千牛同时打开同一个小程序。

2)如果是必须先打开聊天窗口的,或者必须要先打开另一个小程序的,那么请将 * 配置成禁用调试,将您的 appId 打开调试。假设您的小程序为 appId 为 3000000000000000, 参考配置?


{
  // ...
  "debug": {
    "*": {
      "enable": false,
    }
    "3000000000000000": {
      "enable": true,
      "framework": 9224,
      "app": 9225
    }
  }
}


FAQ

关于此文档暂时还没有FAQ
返回
顶部