You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nativescript Vue iOS项目vue-devtools卡等待连接及SocketManager未定义求助

NativeScript 8.x iOS端Vue DevTools连接失败、SocketManager未定义报错解决方案

问题根源

NativeScript 8.0+ 版本将核心库内置的SocketManager拆分到了独立的@nativescript/websockets插件中,而nativescript-vue-devtools@1.5.1未适配该变更,会默认从全局读取SocketManager,因此触发未定义报错。

修复步骤

  1. 安装缺失的依赖包
ns plugin add @nativescript/websockets
  1. 调整项目入口文件(通常为app.js/main.js)的代码顺序,在引入VueDevtools之前先挂载全局SocketManager:
// 放在代码最顶部,优先执行
import { SocketManager } from '@nativescript/websockets'
global.SocketManager = SocketManager

// 后续再执行原有devtools引入逻辑
import VueDevtools from 'nativescript-vue-devtools'
import Vue from 'nativescript-vue'

Vue.use(VueDevtools, {
  // 此处替换为你电脑的局域网IP,不要用localhost/127.0.0.1
  host: '192.168.x.xxx',
  port: 8098
})
  1. 配置iOS网络权限
    iOS 9+默认限制非HTTPS连接,需要在项目App_Resources/iOS/Info.plist中添加HTTP访问权限:
<key>NSAppTransportSecurity</key>
<dict>
  <key>NSAllowsArbitraryLoads</key>
  <true/>
</dict>

连接异常排查

  • 确认电脑和iOS设备/模拟器处于同一局域网下
  • 运行vue-devtools命令启动调试服务后,确认终端显示的监听IP和你代码中配置的host一致
  • 清理项目缓存后重新运行应用:ns clean && ns run ios

内容的提问来源于stack exchange,提问作者Oliver

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 06:57:00