3.5 代码编辑器
优质
小牛编辑
211浏览
2023-12-01
Blockly的大多数应用程序都可以将用户程序翻译成JavaScript,Python,PHP,Lua,Dart或其他语言。此操作由Blockly在客户端执行。
生成代码
第一步是导入相关语言的生成器。 Blockly包括以下生成器:
- javascript_compressed.js
- python_compressed.js
- php_compressed.js
- lua_compressed.js
- dart_compressed.js
应该在blockly_compressed.js之后包含生成器类。例如,以下是包含的JavaScript生成器:
<script src="blockly_compressed.js"></script>
<script src="javascript_compressed.js"></script>
通过此调用,用户的块可以随时从您的应用程序导出到代码:
var code = Blockly.JavaScript.workspaceToCode(workspace);
在前面两行中用Python,PHP,Lua或Dart替换JavaScript以切换生成的语言。
实时生成
生成代码是一种非常快速的操作,因此频繁调用此函数没有任何害处。一个常见的策略是通过向Blockly的change事件添加一个监听器来实时生成和显示代码:
function myUpdateFunction(event) {
var code = Blockly.JavaScript.workspaceToCode(workspace);
document.getElementById('textarea').value = code;
}
workspace.addChangeListener(myUpdateFunction);
有关更多信息,请参阅《3.8 事件》