Eel python:Javascript错误 eel 不是一个函数

0 投票
3 回答
3088 浏览
提问于 2025-06-18 04:03

我正在使用eel来和python进行沟通。我在这个目录下工作:C:\Users\Desktop\Eel,里面有一个app.py文件,另外在UI文件夹里有index.htmlmyjava.jsstyle.css和一些图片,但没有叫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会加载出来,然后当我点击某个区域时,会进入一个函数,但却报错了:

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

我缺少了什么呢?

相关问题:

  • 暂无相关问题
暂无标签

3 个回答

0

我之前也遇到过同样的问题,直到我把/eel.js这个部分去掉了。

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

现在看起来是这样的:

<script type="text/javascript" src="eel.js"></script>
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))
1

看起来初始化的语句是先写的。那么在导入语句后面直接写@eel.expose语句怎么样呢?

我的英语不好,所以我有点担心这样说是否能让人明白。不过如果能帮到你,我会很开心的。

撰写回答