窗.WebSocket - 未定义窗口
window.WebSocket - window is not defined
我在这里有点超出我的舒适区,所以寻求一些指导。我正在尝试访问一个 api 以显示实时指标,使用语音长生不老药 (https://www.npmjs.com/package/phoenix-elixir) - 我只是想先让它运行,所以已经加载了他们的示例代码并连接到 api(原谅我,如果术语全错了,我是新手!
这是我的代码:
import {Socket} from 'phoenix-elixir';
let socket = new Socket('ws://API_URL_HERE', {params: {'auth-token': 'AUTH_TOKEN'}})
socket.connect()
let channel = socket.channel('updates:new', {})
channel.join()
.receive('ok', resp => { console.log('Joined successfully', resp) })
.receive('error', resp => { console.log('Unable to join', resp) })
channel.on('update', payload => {
console.log('Received: ' + payload);
console.log(payload);
})
export default socket
当我运行babel index.js | node
时,出现错误:this.transport = opts.transport || window.WebSocket || LongPoll;
和ReferenceError: window is not defined
只是一些建议来指出我正确的方向会很棒。窗口没有定义,因为它需要一个 dom?我需要服务器来运行它吗?
谢谢:)
我只是移植了客户端以与node.JS兼容。
这是链接 https://github.com/mcampa/phoenix-channels
与原始客户端的区别在于,这不使用长轮询,您需要传递绝对 url 而不是相对 url。
要安装它,请运行:
npm install --save phoenix-channels
与原始 API 相同:
const { Socket } = require('phoenix-channels')
let socket = new Socket("ws://example.com/socket")
socket.connect()
// Now that you are connected, you can join channels with a topic:
let channel = socket.channel("room:lobby", {})
channel.join()
.receive("ok", resp => { console.log("Joined successfully", resp) })
.receive("error", resp => { console.log("Unable to join", resp) })
phoenix-elixir
是客户端库,应该在浏览器而不是节点环境中使用。您应该使用代码创建 html 页面并在浏览器中打开它以进行测试。
相关文章:
- 如何解决'窗口未定义'终端上的节点JS出错
- Internet窗口未定义
- requirejs优化器错误:未定义窗口
- window.location.href窗口未在javascript中定义
- $window错误'$窗口未定义'Angular应用程序中的谷歌分析代码
- 窗.WebSocket - 未定义窗口
- Google Maps API V3 信息窗口错误:“信息窗口未定义”
- 窗口未使用对等.js定义
- 为流星重新包装砌体会产生错误“引用错误:窗口未定义”
- Ace 编辑器:未捕获的引用错误:窗口未定义
- 谷歌地图 api v3 - “信息窗口未定义”错误
- 流星.js:引用错误:窗口未定义
- $=require('jQuery')导致'窗口未定义'.该怎么办
- AngularJS”;ReferenceError:窗口未定义“;在NodeJS应用程序中
- requirejs窗口未定义
- 用Gulp摩卡测试Angular:“;窗口未定义”;
- AWS Cognito未认证登录错误(窗口未定义)[JS]
- SystemJS Builder -窗口未定义
- 使用Grunt的Node JS项目,生成的JS文件有ReferenceError:窗口未定义
- 如何正确处理 React 服务器端渲染中的窗口=未定义错误