Вопросы

Вызов функции подключения канала из другого файла js

У меня в фениксе следующая структура папок:

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, но я хотел бы сохранить их отдельно.

Читать:
Не удается преобразовать значение типа в ожидаемый тип аргумента?

Похожие записи

NSButton Push On Push Off Тип

admin

fortran 2003 и указатели

admin

Azure DevOps 2020 — GraphClient

admin

Как заставить все задачи upstream_failed повторить попытку после того, как состояние их родителей изменилось на успешное в Airflow?

admin

Сельдерей | Ошибка Flask: ожидается объект, подобный байтам, найден AsyncResult

admin

Где tox / pip ищет URL-адреса репозитория pypi?

admin