- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找一种方法来为前端开发人员创建一个极简主义的演示包,以便他们可以轻松地集成 Elixir/Phoenix api 服务器和移动 HTML5 应用程序或非 Phoenix 提供的(旧版)web 应用程序之间的 channel 。
注意:Javascript 从来都不是我的 friend ......
我正在使用 --no-brunch
生成的 Phoenix 应用程序进行测试。 app.js
和phoenix.js
都位于priv/static/js/
。
app.js
包含:
var socket = null
// Responds to a click on a "Connect" button on the GUI
function doConnect() {
socket = new Socket("/socket", {params: {token: "abc"}})
socket.connect()
let channel = socket.channel("user:anonymous", {})
channel.join()
.receive("ok", resp => { console.log("Joined successfully", resp) })
.receive("error", resp => { console.log("Unable to join", resp) })
}
...
// some other GUI callbacks
当我放入 .html
文件时:
<script src="<%= static_path(@conn, "/js/phoenix.js") %>"></script
<script src="<%= static_path(@conn, "/js/app.js") %>"></script>
我进入控制台
ReferenceError: Socket is not defined
另一方面,如果我从 .html
中删除 phoenix.js
并将其放入 app.js
使用 import "./phoenix.js"
,我在控制台中得到 SyntaxError: import declarations may only appear at top level of a module
。
那么 .js
文件应该放在哪里,以及如何包含它们以获得有效的东西?
也许相关的问题是:如何在没有早午餐的情况下使用 channel ?
最佳答案
我从Elixir Forum得到了答案.对 Socket
构造函数的调用不应该是 socket = new Socket("/socket", {params: {token: "abc"}})
而是 socket = new Phoenix.Socket("/socket", {params: {token: "abc"}})
.
一旦这个就位,一切都很好。
关于javascript - 用于连接到 Phoenix channel 的简约 html/javascript 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46238561/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!