2 分•作者: byteface•21 天前
大家好!我是 byteface。myjs 是我最近一次意外的发现,想在此与大家分享。 几年前,我出于好奇开始用 Python 编写 DOM API:[https://github.com/byteface/domonic/](https://github.com/byteface/domonic/) 我时不时地会更新一次,从 MDN 页面中加入更多功能。我有很多单元测试,但发现移植实际代码和库是测试 DOM 兼容性的有效方法。但我不想进一步污染核心代码,因为我已经移植了 d3 和 jquery。 于是我创建了一个名为 domonic-libs 的新仓库:[https://github.com/byteface/domonic-libs/](https://github.com/byteface/domonic-libs/) 总之,几天前,在忠实地移植一些 JavaScript 库以在 dom.py 和 javascript.py 上运行时,我遇到了 Acorn(一个 JavaScript 解析器),并将其转换成了纯 Python。 一旦 Acorn.py 生成了 AST,我就将其与 domonic 的 JavaScript 和 DOM 节点进行映射,令我惊讶的是……实际的 JavaScript 代码开始在 Python 进程中执行了! 试试看: pipx install myjs 我很想听听大家的想法、需要测试的边缘情况或任何反馈!