我正在尋找一種方法爲前端開發人員創建一個極簡主義演示程序包,以便他們可以輕鬆地在Elixir/Phoenix api服務器和移動HTML5應用程序或(傳統)webapps不由鳳凰服務。用於連接到Phoenix頻道的簡約html/javascript包
NB產品:Javascript從來就不是我的朋友......
我在做與--no-brunch
產生的鳳凰應用測試。 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
文件,以及如何包括他們有一個有效的東西?
也許一個相關的問題是:如何使用沒有早午餐的頻道?