У меня в фениксе следующая структура папок:
web/
static/
js/
app.js
script.js
socket.js
app.js имеет …
import socket from "./socket"
import script from "./script"
brunch-config.js имеет …
files: {
javascripts: {
joinTo: "js/app.js"
}
// ...
}
script.js имеет …
$('#some-button').on('click', function() {
connectToChannel(data);
});
socket.js имеет …
import {Socket} from "phoenix"
let socket = new Socket("ws://example.com/updates", {params: {"auth-token": "AUTH-TOKEN"}})
function connectToChannel(data) {
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(payload);
})
}
export default socket
… но когда я нажимаю some-button, в консоли браузера появляется следующая ошибка:
Uncaught ReferenceError: connectToChannel не определен
Соединение будет успешным, если я возьму содержимое socket.js и помещу его в script.js, но я хотел бы сохранить их отдельно.
