Há várias maneiras de conseguir o código do Blockly e de carregá-lo depois de recebê-lo.
Script de criação do pacote
O Blockly fornece um script que inicializa um aplicativo inicial, que você pode modificar. Ele usa ferramentas de desenvolvimento da Web comuns, como webpack e eslint, mas não inclui um framework, como React ou Angular.
Isso exige que você instale o node.js e o npm antes de executar os comandos a seguir.
Para criar um aplicativo escrito em JavaScript em um novo diretório hello-world
:
npx @blockly/create-package app hello-world
Para criar um aplicativo escrito em TypeScript em um novo diretório hello-world
:
npx @blockly/create-package app hello-world --typescript
Eles criam um pacote que importa destinos de pacotes. Ele também usa um arquivo package.json para gerenciar dependências, o que facilita o uso da versão mais recente do Blockly.
Ele também vem com alguns scripts iniciais úteis, como um para testar o projeto localmente em um navegador:
cd hello-world
npm run start
Você pode consultar o arquivo package.json gerado para outros comandos.
Pacote
Se você está só com algumas ideias e não quer inicializar um aplicativo completo, carregue o Blockly no unpkg usando tags de script.
Se você adicionar o seguinte a qualquer página HTML, será possível abrir o HTML diretamente em um navegador para testar com o Blockly:
<!-- Load Blockly core -->
<script src="https://unpkg.com/blockly/blockly_compressed.js"></script>
<!-- Load the default blocks -->
<script src="https://unpkg.com/blockly/blocks_compressed.js"></script>
<!-- Load a generator -->
<script src="https://unpkg.com/blockly/javascript_compressed.js"></script>
<!-- Load a message file -->
<script src="https://unpkg.com/blockly/msg/en.js"></script>
Essa não é uma boa solução de longo prazo para adquirir a Blockly, porque não funciona com bundlers como o webpack, mas é boa para prototipagem e experimentação.
Acessar o código
Há várias maneiras de fazer com que o código execute o Blockly.
A equipe da Blockly recomenda exigir o uso de um gerenciador de pacotes (como NPM ou Yarn) pelos seguintes motivos:
- Ficou mais fácil acompanhar as mudanças no Blockly
- Ele incentiva o uso de plug-ins em vez de monkeypatch para o Blockly.
NPM
npm install blockly --save
Yarn
yarn add blockly
GitHub
Também é possível fazer o download do código compactado nas nossas versões do GitHub (em inglês). No entanto, isso exige que você faça o download manual do código em intervalos regulares para receber as atualizações e correções mais recentes do Blockly.
Carregar o código
Depois de receber o código, há várias maneiras de acessá-lo pelo código.
Tags de script
<!-- Load Blockly core -->
<script src="./my-lib-directory/blockly/blockly_compressed.js"></script>
<!-- Load the default blocks -->
<script src="./my-lib-directory/blockly/blocks_compressed.js"></script>
<!-- Load a generator -->
<script src="./my-lib-directory/blockly/javascript_compressed.js"></script>
<!-- Load a message file -->
<script src="./my-lib-directory/blockly/msg/en.js"></script>
Ao usar tags de script, é possível acessar importações do namespace global:
// Access Blockly.
Blockly.thing;
// Access the default blocks.
Blockly.libraryBlocks['block_type'];
// Access the generator.
javascript.javascriptGenerator;
Importações
// Import Blockly core.
import * as Blockly from 'blockly/core';
// Import the default blocks.
import * as libraryBlocks from 'blockly/blocks';
// Import a generator.
import {javascriptGenerator} from 'blockly/javascript';
// Import a message file.
import * as En from 'blockly/msg/en';
Quando você importar os arquivos de mensagem, também vai precisar aplicá-los.
Blockly.setLocale(En);
Requer
// Require Blockly core.
const Blockly = require('blockly/core');
// Require the default blocks.
const libraryBlocks = require('blockly/blocks');
// Require a generator.
const {javascriptGenerator} = require('blockly/javascript');
// Require a message file.
const En = require('blockly/msg/en');
Quando você precisar dos arquivos de mensagem, também vai precisar aplicá-los.
Blockly.setLocale(En);