问题标签 [transcrypt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
13 回答
125446 浏览

javascript - 集成 Python 和 JavaScript 的最佳方式?

是否可以集成 Python 和 JavaScript?例如,假设您希望能够在 JavaScript 中定义类并在 Python 中使用它们(反之亦然)。如果是这样,最好的方法是什么?我不仅对这是否可能感兴趣,而且对是否有人在“严肃”项目或产品中完成它感兴趣。

我猜想使用JythonRhino是可能的,例如,但我很好奇是否有人真的这样做过,以及是否有其他平台的解决方案(尤其是CPython)。

0 投票
0 回答
68 浏览

source-maps - 如何在索引图中使用 url 部分

我正在开发 Python 到 JavaScript 编译器,并尝试实现 V3 源映射。

以下格式可以正常工作:

但是所谓的“索引图”格式在 Chrome 中会出现错误:

我到处找例子,但找不到。谁能发现可能是什么问题,我的索引图是:

我已经尝试过使用和不使用'file:///'以及相对路径,但是这个(非常无信息的)错误仍然存​​在。我也尝试过 Firefox devtools,但它们根本没有给出错误信息。

0 投票
1 回答
865 浏览

fabricjs - 如何将画布的原点放在中心

我正在尝试为我的Transcrypt Python to JavaScript 编译器编写简单的海龟图形。为了与CPython Turtle 模块兼容,我需要carthesian 坐标,即原点必须在画布的中心。有什么方法可以实现,而无需自己使用单独的坐标系并在我自己的代码中为每个对象转换它们。

我已经看到,对于单个对象,我可以使用 centerX 和 centerY 将它们的参考点居中在这样的对象内。但是我找不到将原点放在画布中间的示例。

如何将画布的原点更改为中心?工作,但看起来有些人为,因为我会补偿这个翻译的鼠标位置。它还给出了一些线段的奇怪“加倍”,可能是由于偏移。如果在我自己的代码中翻译坐标,则不存在加倍。两种翻译都添加整数。

使用画布上下文进行翻译

使用画布上下文进行翻译,有些行加倍。代码:

在我的应用程序代码中翻译

在我的应用程序代码中进行翻译,看起来应该是这样。代码:

0 投票
1 回答
1914 浏览

javascript - if (typeof x == 'number') 的性能?

我已经在谷歌上搜索了很长一段时间,例如“typeof”和“performance”,但我无法找到以下问题的令人满意的答案。

我正在尝试使用本地运算符重载为Transcrypt Python to JavaScript 编译器实现复数。由于我们处理的是动态类型语言,因此无法预测变量中的数据类型。

如果我翻译x + y成 JavaScript,打开运算符重载,它将翻译为例如__add__ (x, y)为了做正确的事情,该__add__函数必须检查两者x以及y它们是否是“普通”JavaScript 数字,或者它们中的一个或两个属于“复杂”类型,因为这需要特殊操作。

最明显的方法是测试typeof x == 'number'. 但是,来自 C/C++ 背景,使用具有六个字符的字符串测试相等性似乎非常低效,首先必须从内存中检索,只能添加两个整数,对于许多处理器来说,一次解析,将只有一条指令。

最让我惊讶的是,像这样的检查在互联网上随处可见,这是正常的做法。有谁知道是否x == 'number'或可能x === 'number'以某种方式巧妙地优化以防止完整的字符串比较。

为了进一步澄清问题,这是我当前的__add__操作员代码,使用字符串比较。

如果没有,任何人都可以提示我更快地区分数字和任意非数字对象。

感谢您的提示。现在的来源是:

被某某人翻译:

到:

0 投票
2 回答
607 浏览

javascript - 导入中的转加密导入

使用 Transcrypt for python to javascript 编译我有 2 个相互需要的模块。例如:

我的测试.py:

和 myTest2.py:

编译为 javascript 并调用后,myTest.test()我得到一个 RangeError:超出最大调用堆栈大小。我怎样才能避免这种情况,但保留两个相互使用的模块?提前致谢。

0 投票
1 回答
225 浏览

javascript - Scala.js 中的 Javascript 生成器

目前我使用 Transcrypt 从 Python 代码生成 Javascript 代码。通过这种方式,我可以在 Python 中实现生成器,例如:

它将被编译为 Javascript,如:

但因为我也有 Scala 知识(以及我想在浏览器中实现的 Scala 应用程序),所以我正在寻找 Scala.js。但据我所知,这种生成器构造在 Scala 中是不可能的,并且相应的yield关键字以不同的方式使用。

Scala.js 中的生成器语法是否可行,或者如果我想要的话,我是否被迫使用 Python 和 Transcrypt?

0 投票
3 回答
206 浏览

transcrypt - Transcrypt 支持 HTML 5 吗?

这个工具 Transcrypt http://www.transcrypt.org/支持 HTML 5 吗?

0 投票
1 回答
1547 浏览

python - 龟并用 Transcrypt 画一棵树

今天我想用 Transcrypt 在浏览器中画一棵树。我有在 Skulpt 中工作的 Python 代码:

我想在浏览器中运行它以获得这种效果:

图片 ​不要担心树上的文字,是波兰语;)我在 Skulpt 中运行这个,也许你听说过它,你有上面的效果。现在我想在 Transcrypt 中运行它并将其与 Skulpt 和 Brython 进行比较。

正如你在这里看到的: http ://www.transcrypt.org/live/turtle_site/turtle_site.html

Transcrypt 不知何故可以用海龟绘制。

这段代码有什么变化,与 Transcrypt 一起工作?

你能帮我解决这个问题吗?

0 投票
1 回答
2790 浏览

css - 如何从纯 css 中设置绘图的填充和边框样式

我有许多内联块 div,其中包含绘图。现在我将它们全部连接到同一情节的不同实例,但最终它们将是不同的。

当我尝试为它们设计样式时,例如

Plotly 提出了一个双边框并忽略了我的填充。

在此处输入图像描述

当然,我可以将 plotly div 包装在外部 div 中并设置它们的样式,但肯定有一种方法可以制作 plotly div,这意味着具有由 Plotly.plot 获取的 id 的 div,遵循一般 CSS 而不是自己做事?

我正在使用Transcrypt Python to JavaScript 编译器和普通的 plotly.js 库,没有任何远程的东西。代码如下:

HTML:

Python:

0 投票
2 回答
535 浏览

transcrypt - 在 Transcrypt 中使用 Promise

我对Transcrypt玩得很开心,这是一个很棒的 Python 3 到 Javascript 编译器,可作为python 模块使用。我的大部分代码都是同步的,但我在处理 setTimeout 和 XHR 请求方面没有问题。现在我已经开始使用 PouchDB 进行本地持久性,并试图找到一种处理 Promise 的漂亮方法。目前,我这样做是为了写入 pouchdb 实例:

这很好用,但我很想知道一些关于从 python 转换为 Javascript 的 Promise 的事情(这可能会让我免于疯狂):

  • 是否有更可取的“pythonic”方法来处理这个问题?
  • 可以通过 Transcrypt 使用 ES7 的 async / await 吗?由于 Transcrypt 允许直接从 python 代码中访问 Javascript 函数,我认为这里可能有一些我没有得到的技巧。

谢谢!