15:32:08.927 node:internal/modules/cjs/loader:959
15:32:08.927 throw err;
15:32:08.934 ^
15:32:08.934 Error: Cannot find module 'cli-cursor'
15:32:08.940 Require stack:
15:32:08.940 - D:\HBuilderX\plugins\uniapp-cli\node_modules\ora\index.js
15:32:08.951 - D:\HBuilderX\plugins\uniapp-cli\node_modules\@vue\cli-shared-utils\lib\spinner.js
15:32:08.951 - D:\HBuilderX\plugins\uniapp-cli\node_modules\@vue\cli-shared-utils\lib\logger.js
15:32:08.962 - D:\HBuilderX\plugins\uniapp-cli\node_modules\@vue\cli-shared-utils\index.js
15:32:08.962 - D:\HBuilderX\plugins\uniapp-cli\bin\uniapp-cli.js
15:32:08.970 at Function.Module._resolveFilename (node:internal/modules/cjs/loader:956:15)
15:32:08.971 at Function.Module._load (node:internal/modules/cjs/loader:804:27)
15:32:08.980 at Module.require (node:internal/modules/cjs/loader:1028:19)
15:32:08.980 at require (node:internal/modules/cjs/helpers:102:18)
15:32:08.989 at Object.<anonymous> (D:\HBuilderX\plugins\uniapp-cli\node_modules\ora\index.js:3:19)
15:32:08.992 at Module._compile (node:internal/modules/cjs/loader:1126:14)
15:32:09.002 at Object.Module._extensions..js (node:internal/modules/cjs/loader:1180:10)
15:32:09.002 at Module.load (node:internal/modules/cjs/loader:1004:32)
15:32:09.012 at Function.Module._load (node:internal/modules/cjs/loader:839:12)
15:32:09.012 at Module.require (node:internal/modules/cjs/loader:1028:19) {
15:32:09.023 code: 'MODULE_NOT_FOUND',
15:32:09.024 requireStack: [
15:32:09.035 'D:\\HBuilderX\\plugins\\uniapp-cli\\node_modules\\ora\\index.js',
15:32:09.035 'D:\\HBuilderX\\plugins\\uniapp-cli\\node_modules\\@vue\\cli-shared-utils\\lib\\spinner.js',
15:32:09.047 'D:\\HBuilderX\\plugins\\uniapp-cli\\node_modules\\@vue\\cli-shared-utils\\lib\\logger.js',
15:32:09.047 'D:\\HBuilderX\\plugins\\uniapp-cli\\node_modules\\@vue\\cli-shared-utils\\index.js',
15:32:09.056 'D:\\HBuilderX\\plugins\\uniapp-cli\\bin\\uniapp-cli.js'
15:32:09.056 ]
15:32:09.070 }
又是 uniapp-cli 插件自身的依赖残缺(缺 cli-cursor 包),跟你的项目代码无关。
只要 把插件目录的 node_modules 整个删掉重新装 就能立即解决,下面给出一步不踩坑的操作。
✅ 10 秒修复步骤(Windows 命令行)
关掉 HBuilderX(防止文件被占用)
Win+R → 输入
cmd
依次执行:
bat
复制
cd /d D:\HBuilderX\plugins\uniapp-cli
rd /s /q node_modules
npm install --registry https://registry.npmmirror.com
重新打开 HBuilderX → 再次 运行 → 浏览器/小程序/真机
控制台不再抛 Cannot find module 'cli-cursor',项目秒启动。
⚠️ 不要做的事
不要在插件目录里再 npm init / 改 package.json,会把 HBuilderX 升级通道弄坏。
不要只拷一个 cli-cursor 进来,残缺依赖很多,删了重装最干净。
✅ 一句话总结
关 HBuilderX → 把 D:\HBuilderX\plugins\uniapp-cli\node_modules 整个删了 → npm install 装回来 → 再启动,报错立刻消失。
15:53:53.727 [微信小程序开发者工具] For more details see: https://developers.weixin.qq.com/miniprogram/en/dev/devtools/cli.html
15:53:53.737 [微信小程序开发者工具] [error] 工具的服务端口已关闭。要使用命令行调用工具,请在下方输入 y 以确认开启,或手动打开工具 -> 设置 -> 安全设置,将服务端口开启。
15:53:53.738 [微信小程序开发者工具] 详细信息: https://developers.weixin.qq.com/miniprogram/dev/devtools/cli.html
15:53:53.748 [微信小程序开发者工具]
15:53:53.749 [微信小程序开发者工具] ? Enable IDE Service (y/N) [27D[27C
15:53:53.756 [微信小程序开发者工具] - initialize
15:53:53.757 [微信小程序开发者工具]
15:53:53.767 [微信小程序开发者工具] × initialize
15:53:53.767 [微信小程序开发者工具]
15:53:53.778 [微信小程序开发者工具]
微信开发者工具服务端口没开,HBuilderX 无法自动调用,所以报红。
只要 手动把端口打开 即可,两步搞定。
✅ 立即修复(两种办法,任选其一)
① 图形界面开端口(最稳)
打开 微信开发者工具 → 右上角 设置 ⚙️ → 安全设置
把 "服务端口" 开关切到 开启(如下图)
https://img.cdn.aliyun.dcloud.net.cn/uni-doc/weixin-service-port.png
回到 HBuilderX → 重新点"运行到微信小程序",日志出现 IDE service ready 即成功。
② 命令行一次性确认(适合 CI)
如果你在用脚本,可以手动执行一次:
"微信安装目录/cli.bat" enable
输入 y → 回车,端口就永久开启了。
⚠️ 常见坑
更新微信开发者工具后 端口会被重置,记得再开一次。
端口 9973/9974 被防火墙占用时,先关防火墙或换端口。
HBuilderX 里填的路径 必须是 cli.bat 所在目录(默认 C:\Program Files (x86)\Tencent\微信开发者工具\cli.bat)。
✅ 一句话总结
打开微信开发者工具 → 设置 → 安全 → 开启"服务端口" → 回 HBuilderX 重新运行,红色报错立刻消失。
16:06:06.948 项目 'dianda-real-master' 编译成功。前端运行日志,请另行在小程序开发工具的控制台查看。
16:06:06.951 正在启动微信开发者工具...
16:06:07.477 [微信小程序开发者工具] [error] Error: Fail to open IDE
16:06:07.478 [微信小程序开发者工具]
16:06:07.479 [微信小程序开发者工具] - initialize
16:06:07.479 [微信小程序开发者工具]
16:06:07.480 [微信小程序开发者工具] √ IDE server has started, listening on http://127.0.0.1:55501
16:06:07.481 [微信小程序开发者工具] - open IDE
16:06:07.481 [微信小程序开发者工具]
16:06:07.481 [微信小程序开发者工具] × open IDE
16:06:07.482 [微信小程序开发者工具]
16:06:07.482 [微信小程序开发者工具]
16:06:07.482 微信开发者工具已启动,在HBuilderX中修改文件并保存,会自动刷新微信模拟器
16:06:07.485 注:
16:06:07.485 1. 可以通过微信开发者工具切换pages.json中condition配置的页面,或者关闭微信开发者工具,然后再从HBuilderX中启动指定页面
16:06:07.487 2. 如果出现微信开发者工具启动后白屏的问题,检查是否启动多个微信开发者工具,如果是则关闭所有打开的微信开发者工具,然后再重新运行
16:06:07.491 3. 运行模式下不压缩代码且含有sourcemap,体积较大;若要正式发布,请点击发行菜单进行发布
日志已经明确告诉你:
编译成功 ✅
IDE 服务已启动(端口 55501)✅
只是"打开图形界面"这一步失败,并不影响热刷新和调试 ⚠️
自己
双击打开 微信开发者工具 → 导入项目根目录下 unpackage/dist/dev/mp-weixin → 正常调试
把微信开发者工具升到 最新 stable → 重启电脑 → 再试
服务已通,界面没拉起而已;
手动导入 unpackage/dist/dev/mp-weixin 即可正常调试;
或结束旧进程 → 升级微信开发者工具 → 再跑一次就 OK。
[ app.json 文件内容错误] app.json: 在项目根目录未找到 app.json (env: Windows,mp,1.06.2504060; lib: 3.11.2)
微信开发者工具报 「根目录未找到 app.json」 说明它导入的路径不是小程序产物目录,而是你的 uni-app 源码根目录。
uni-app 的小程序真正的 app.json 在 编译后 的 dist 目录里,别导错地方。
✅ 两步解决
确认编译产物路径
项目根目录下 → 打开文件夹
unpackage/dist/dev/mp-weixin
里面应该有:
复制
app.json
app.js
app.wxss
pages/...
重新导入正确路径
微信开发者工具 → "+" 新建项目 → 项目目录选择上面的 mp-weixin 文件夹
AppID 选测试号(或你自己的)→ 后端服务选 不使用 → 确定
报错立刻消失,正常预览。
⚠️ 常见误操作
表格
复制
错误做法 结果
把 整个 HBuilderX 项目根目录 当成小程序目录导入 找不到 app.json,报相同错误
先导入后编译 目录里还是空的,同样报错
导入 unpackage/dist/build 这是"发行"目录,开发阶段用 dev
✅ 一句话总结
把微信开发者工具的项目目录指向
unpackage/dist/dev/mp-weixin
(含有 app.json 的那一层),再导入就 OK。
SyntaxError: Unexpected token u in JSON at position 0
at JSON.parse (<anonymous>)
at VueComponent.settabbar (dp-tabbar.vue:136)
at Function.<anonymous> (dp-tabbar.vue:101)
at :25841/appservice/<setTimeout callback function>
at VM51 WASubContext.js:1
at t.<anonymous> (VM51 WASubContext.js:1)
at Function.<anonymous> (VM51 WASubContext.js:1)
at p (WAServiceMainContext.js?t=wechat&v=3.11.2:1)
at WAServiceMainContext.js?t=wechat&v=3.11.2:1
at WAServiceMainContext.js?t=wechat&v=3.11.2:1(env: Windows,mp,1.06.2504060; lib: 3.11.2)
https:/xxx.com 不在以下 request 合法域名列表中,请参考文档:https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html(env: Windows,mp,1.06.2504060; lib: 3.11.2)
微信小程序强制要求所有线上接口域名必须在 「微信公众平台 → 开发 → 开发设置 → 服务器域名」 里提前配置,否则真机/体验版一律拦截。
你现在访问的 https://xxx.com 没登记,所以报「不在合法域名列表」。
✅ 解决步骤(真机/体验版必须)
登录 https://mp.weixin.qq.com → 你的小程序 → 开发 → 开发设置 → 服务器域名
request 合法域名 添加:
注意:
必须 https 且已备案
不能带端口、路径、query
保存 → 重新上传体验版 → 扫码进入即可正常请求。
⚠️ 本地调试/开发阶段
微信开发者工具 → 详情 → 本地设置 → 勾选 「不校验合法域名、web-view 等业务域名」
✅ 可临时跳过,仅开发有效,真机/上线仍需步骤 1。
✅ 一句话总结
线上真机必须把 https://xxx.com 加到微信公众平台 → 服务器域名 → request 合法域名里;开发阶段可勾选「不校验域名」临时调试。
🚀写在最后
希望我的分享能够帮助到更多的人,如果觉得我的分享有帮助的话,请大家一键三连支持一下哦~
❤️原创不易,期待你的关注与支持~
点赞👍+收藏⭐️+评论✍️
😊之后我会继续更新前端学习小知识,关注我不迷路~