问题标签 [google-blockly]
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.
blockly - 如果目标用作 StatementInput,则防止将新块附加到同一类型
我基本上有两种类型的块:规则块和事实块(就像在 Prolog 中一样)。它们都可以相互连接。规则块需要两个“事实”类型的输入。但是,不可能将多个附加的事实块作为单个输入。因此,每当附加事实块作为规则块的输入时,我必须将“setNextStatement”设置为 false。
这就是我在事实块中尝试做的事情:
当然还有规则块:
这实际上有效,但是当我将事实与规则的输入部分分开时,我总是会收到以下错误:
有人有什么想法吗?
javascript - 在 Angular 项目中实现 Google-Blockly 的块工厂
我想在我的 Angular 项目中实现块工厂来创建可以在我的工作空间中使用的块。块工厂演示和 github 存储库的链接如下
https://blockly-demo.appspot.com/static/demos/blockfactory/index.html
https://github.com/google/blockly-devtools。
我没有找到任何实现此功能的参考。
blockly - 块状的自定义编程语言?
如何将默认块语言从 javascript 更改为批处理?
我想制作一个制作批处理代码 .bat 文件的块创建器,默认选项是 javascript、php、lua 等。我怎样才能制作一个自定义的?
cypress - 赛普拉斯测试运行程序不呈现 Blockly 类别
我有一个使用 Blockly 的 React Web 应用程序,我目前正在尝试编写使用 Cypress 框架的自动化测试。
赛普拉斯在基本的登录过程中运行良好,但是一旦 Blockly 应该加载就会开始表现不一致。
大约有一半的时间,应用程序的整个 Blockly 部分根本不会出现在 Cypress 视口中。有时会出现,有时不会,而且我不确定是什么原因导致它或如何真正重现它,它似乎是随机的。
这是正确加载时的外观
这是无法正确加载时的外观
起初,我认为它不起作用的原因是因为 Blockly 的资源没有加载,并且 Cypress 试图访问不存在的资源。
为了解决这个问题,我添加了一个延迟,使用cy.wait()
. 我尝试了从 1s 到 10s 的任何时间,但延迟似乎没有影响任何事情,无论延迟多长时间,如果应用程序的 Blockly 部分正确加载,它似乎都没有影响。
以下是使用的赛普拉斯测试文件部分的代码:
它运行良好,直到运行测试的“打开创建的项目”部分之后,如果应用程序的 Blockly 部分出现,则它是一个成功或失败。有关可能发生的情况,请参阅上面的图像。
blockly - 块恢复块
我正在尝试通过单击按钮恢复或生成带有 XML 代码的块并将其设置到我的工作场所。但它不能正常工作,不知何故它什么也没显示。帮助将不胜感激。 我尝试了以下链接:
2. https://embed.plnkr.co/XIeR0L/
3. https://developers.google.com/blockly/guides/create-custom-blocks/blockly-developer-tools
4. https://developers.google.com/blockly/guides/get-started/web
我要恢复的代码:
我也尝试过以下方式:
块恢复功能:
XML 的单个响应是:
javascript - Blockly.Xml.textToDom 期望一个文档
我一直在尝试从 localStorage 中恢复所有使用过的块。我正在遍历所有本地保存的块,但出现以下错误。如果我能得到一些帮助,那就太好了。
错误:
恢复所有块的代码:
保存组合的代码:
javascript - 在javascript中将复杂代码组合为字符串
我正在Blockly
用他们自己的 JavaScript 代码设计自定义块,当我试图以字符串形式输出的代码是单行时,这并不复杂,但是当我试图将代码关联到我的自定义块时,通过变量的串联,单引号,双引号它开始变得混乱并产生难以解决的语法错误代码。
这是一个简单块的代码,我现在这样做:
这是我用来options
在select
输入中启用所有功能的块。
适用于简单代码。但我想做的是逐字编写 JS 代码,然后将其转换为字符串。
这样的事情是否可能:
是否有任何 JS 技巧可以让我做到这一点?
javascript - 重新编译 build.py 文件时缺少 goog.date 提供程序 - google blockly
我们在 blockly.js 文件中添加了 field_date 并尝试重新编译 build.py 文件,但是在运行时,它会抛出缺少提供程序 goog.date 的错误。我们如何解决这个问题,我们正在使用最新的 blockly 版本。