鳗鱼python:JavaScript错误鳗鱼不是函数

时间:2020-05-18 19:56:14

标签: javascript python html eel

我正在使用鳗鱼与python通信。我在目录C:\Users\Desktop\Eel中工作,那里有app.py,在UI文件夹中,我有index.html, myjava.js, style.css, images,但没有eel.js的名字。我之所以这样说,是因为在文档中它包含了名为/eel.js的脚本。


index.html

<head>
    <script type="text/javascript" language="JavaScript" src="./myjava.js"></script>
    <script type="text/javascript" src="/eel.js"></script>
    <link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container" onclick="runeel()">
</body>

我的Javascript是:

function runeel(){
    eel.runpy()
}

app.py

import eel

eel.init('UI')
eel.start('index.html', size=(900, 550))

@eel.expose
def runpy():
     ....code which creates an excel file in desktop...

运行py文件时,会加载index.html,然后单击div时会进入该函数,但会引发错误:

myjava.js:2 Uncaught TypeError: eel.runpy is not a function

我想念什么?

4 个答案:

答案 0 :(得分:1)

似乎init语句是最先编写的。 在import语句之后立即编写@ eel.expose语句怎么办?

我的英语不好,所以我担心这样做会有意义。 但如果能提供帮助,我将很高兴。

答案 1 :(得分:1)

我遇到了同样的问题,直到我从

中删除了 /eel.js
<script type="text/javascript" src="/eel.js"></script>

现在的样子

<script type="text/javascript" src="eel.js"></script>

答案 2 :(得分:0)

就我而言,我必须在通过装饰器公开函数之后开始 eel

import eel

eel.init('UI')

@eel.expose
def runpy():
     ....code which creates an excel file in desktop...

eel.start('index.html', size=(900, 550))

答案 3 :(得分:-1)

试试这个:

import eel

eel.init('UI')
eel.start('index.html', size=(900, 550))

@eel.expose()
def runpy():
     ....code which creates an excel file in desktop...

我改变了什么? 我在@eel.expose 中添加了 ()