不能与琥珀色或NPM不知道WebSocket连接这

问题描述 投票:0回答:1

琥珀CLI(amberframework.org) - v0.11.3水晶0.27.0 [c9d1eef8f](2018年11月1日)LLVM:4.0.0默认目标:x86_64的未知-Linux的GNU NPM 3.5.2

我试图实现与水晶郎和Amber插座。我跟着从Amber DocsGithub Amber Readme.指令然而,我收到一个错误。

我正在运行“故宫运行腕表”和“琥珀表”。我可以看到网页浏览器刷新,当我修改main.js.

//main.js
import 'bootstrap';
import $ from 'jquery';
import Amber from 'amber';

let socket = new Amber.Socket('/notification')
socket.connect().then(function() {
  let channel = socket.channel('chat_room:hello');

  channel.join();

  channel.push('message_new', {
    message: "Hello Amber from WebSocket Client!"
  });

  channel.on('message_new', function(payload) {
    console.log(payload);
  });
});
// Uncaught TypeError: Cannot read property 'Socket' of undefined
// at Module../src/assets/javascripts/main.js (main.js:28)
// at __webpack_require__ (bootstrap:19)
// at Module../config/webpack/entry.js (entry.js:1)
// at __webpack_require__ (bootstrap:19)
// at bootstrap:83
// at bootstrap:83

更新:

检查我发现了源代码后,有2个版本main.js.的引发错误的版本位于“的WebPack://.src/assets/javascripts/main.js”。当我在运行时检查此文件,琥珀无法找到。 “的ReferenceError:琥珀没有定义”的文件的第二版本位于“/dist/main.bundle.js”。我不知道为什么被服务双方的资产。这可能是与故宫的问题吗?

javascript npm websocket crystal-lang amber-framework
1个回答
1
投票

我能找到的Amber Forums答案。这似乎默认功能时的承诺和公关已经取得了被意外打断。我在这里复制jackturnbull的答案。

解决方案1,琥珀进口线更改为:

import * as Amber from 'amber';

方案2:

import { Channel, Socket } from 'amber';

// Then reference as:
let socket = new Socket('/notification');
...
© www.soinside.com 2019 - 2024. All rights reserved.