La generación de código es el proceso de convertir los bloques de un lugar de trabajo en un cadena de código que puede ejecutarse.
La generación de código es muy importante, porque es lo que permite que tus bloques realmente realizan acciones, como evaluar expresiones aritméticas, mover un carácter pasar por un laberinto o configurar una tienda en línea.
Blockly no se "ejecuta" directamente. En su lugar, generas cadenas de código y luego, ejecútalos.
Generadores de código
Para generar código, usa una instancia de generador de código.
Este fragmento de código muestra cómo generar código JavaScript para los bloques en un Workspace:
// javascriptGenerator is a code generator that makes JavaScript strings.
import {javascriptGenerator} from 'blockly/javascript';
const code = javascriptGenerator.workspaceToCode(myWorkspace);
Para obtener más información sobre los diferentes generadores de código que proporciona Blockly y cómo acceder a ellos, consulta Descripción general del generador de códigos.
Generadores de códigos de bloque
Cada bloque tiene un generador de código de bloque asociado que define el código que genera. Se debe definir un generador de código de bloque para cada idioma que quieres generar.
Este fragmento de código define un generador de código de bloque de JavaScript para un avanzar". bloque:
javascriptGenerator.forBlock['my_custom_block'] = function(block, generator) {
const steps = block.getFieldValue('FIELD_NAME');
// moveForward is a function you would have to define yourself and provide
// within your execution context.
return `moveForward(${steps});\n`;
}
Si deseas obtener más información para definir tus generadores de código de bloque, consulta Generadores de código de bloque.
Ejecución
Después de generar el código, debes descifrar cómo ejecutarlo. Decidir cómo ejecutarlo es muy específico de la aplicación y está fuera del alcance. de Blockly.
Para obtener más información sobre las maneras de ejecutar código, consulta Ejecución de código.