我在使用 transcrypt(版本 3.6.95)在多个文件之间拆分代码时遇到问题。作为一个基本示例,我在同一目录中有以下文件:
索引.htm
<html>
<head>
<meta charset="utf-8">
<title>Transcrypt test</title>
</head>
<body>
<div id="box"></div>
<button onclick="myscript.set_box_content()">Set box content</button>
</body>
<script src="__javascript__/myscript.js"></script>
</html>
我的模块.py
def helloworld():
return "Hello world!"
我的脚本.py
from mymodule import helloworld
def set_box_content():
document.getElementById("box").innerHTML = helloworld()
然后我跑
python -m transcrypt -n mymodule.py
python -m transcrypt -n myscript.py
它运行没有错误,并在 __javascript__ 目录中生成 mymodule.js、mymodule.mod.js、myscript.js 和 myscript.mod.js。
当我在 Firefox 58 中打开 index.htm 并打开控制台时,它显示“TypeError:模块未定义”。我尝试添加<script src="__javascript__/mymodule.js"></script>
到 HTML 中,但这并没有帮助。我通读了 transcrypt 文档的这一部分-u
,但是当我输入python -m transcrypt -h
.