Javascript, использующий функцию Python с eel

#javascript #python #eel

#javascript #python #eel

Вопрос:

Я нахожусь в процессе создания программы чат-бота на Python и JavaScript. Я использую eel для создания пользовательского интерфейса для чат-бота, но открытая функция из кода python не может быть использована в коде JavaScript.

Код Python

 @eel.expose
def responsedMessage(message):
    word = tokenize(message)
    if not word == '@':
        reply = load_w2v(word)
    else:
        reply = ''
    response = make_sentence(reply)
    return response
  

JavaScript

 async function btnFunc(){
    if(!inputText.value) return false;
    output(inputText.value,'me');
    const response = await eel.responsedMessage(inputText.value);
    output(response,'robot');
}
  

Ошибка

 chatbot_js.html:60 Uncaught (in promise) TypeError: eel.responsedMessage is not a function
at btnFunc (chatbot_js.html:60)
at HTMLInputElement.onclick (chatbot_js.html:16)
  

Почему произошла эта ошибка?

Ответ №1:

вы должны поместить eel.start(‘main.html ‘) в конце вашего скрипта на Python

 @eel.expose
def responsedMessage(message):
    word = tokenize(message)
    if not word == '@':
        reply = load_w2v(word)
    else:
        reply = ''
    response = make_sentence(reply)
    return response

eel.start('main.html')