首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >vue3 引入 sockjs-client 报错问题 (global is not defined)

vue3 引入 sockjs-client 报错问题 (global is not defined)

原创
作者头像
PHP开发工程师
发布2022-06-10 09:32:40
发布2022-06-10 09:32:40
2.7K00
代码可运行
举报
文章被收录于专栏:thinkphp+vuethinkphp+vue
运行总次数:0
代码可运行

问题

今天在 vue3 中引入 sockjs-client 的时候莫名的报了个错,而且页面里也没有 global 相关的内容,使得 sockjs-client 无法使用。报错信息如下:

代码语言:javascript
代码运行次数:0
运行
复制
Uncaught ReferenceError: global is not defined
    at node_modules/sockjs-client/lib/utils/event.js (event.js:8:27)
    at __require2 (chunk-A5AMJUWA.js?v=0a8d1f98:15:44)
    at node_modules/sockjs-client/lib/transport/websocket.js (websocket.js:3:13)
    at __require2 (chunk-A5AMJUWA.js?v=0a8d1f98:15:44)
    at node_modules/sockjs-client/lib/transport-list.js (transport-list.js:5:3)
    at __require2 (chunk-A5AMJUWA.js?v=0a8d1f98:15:44)
    at node_modules/sockjs-client/lib/entry.js (entry.js:3:21)
    at __require2 (chunk-A5AMJUWA.js?v=0a8d1f98:15:44)
    at dep:sockjs-client:1:16
复制代码

解决方法 1

index.html 中,添加 <script>global = globalThis</script>

虽然此时解决了 global 报错问题,但这种情况还会继续报其他错误,所以不建议使用。

解决方法 2

改变引入方式,将 import SockJS from 'sockjs-client'; 改为 import SockJS from 'sockjs-client/dist/sockjs.min.js';

代码语言:javascript
代码运行次数:0
运行
复制
//import SockJS from  'sockjs-client';
import SockJS from  'sockjs-client/dist/sockjs.min.js';
import Stomp from "stompjs";
复制代码

在过渡到 vue 3 的过程中,总是不经意的会遇到一些问题,耐心的去寻找答案,去分析解决,总是会有办法的。

源码附件已经打包好上传到百度云了,大家自行下载即可~

代码语言:javascript
代码运行次数:0
运行
复制
链接: https://pan.baidu.com/s/14G-bpVthImHD4eosZUNSFA?pwd=yu27
提取码: yu27

百度云链接不稳定,随时可能会失效,大家抓紧保存哈。

如果百度云链接失效了的话,请留言告诉我,我看到后会及时更新~

开源地址

码云地址: http://github.crmeb.net/u/defu

Github 地址: http://github.crmeb.net/u/defu

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题
  • 解决方法 1
  • 解决方法 2
  • 开源地址
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档