Scarica Blockly

Esistono diversi modi per ottenere il codice Blockly e per caricarlo una volta che l'avrai ricevuta.

Crea script pacchetto

Blockly fornisce uno script che esegue il bootstrap di un'applicazione iniziale, che puoi quindi modifica. Utilizza strumenti comuni di sviluppo web come webpack e eslint, ma non include un framework, come React o Angular.

È quindi necessario installare node.js e npm prima di eseguire i seguenti comandi.

Per creare un'applicazione scritta in JavaScript in una nuova directory hello-world:

npx @blockly/create-package app hello-world

Per creare un'applicazione scritta in TypeScript in una nuova directory hello-world:

npx @blockly/create-package app hello-world --typescript

Queste creano quindi un pacchetto che importa i target dei pacchetti. Utilizza anche un file package.json per gestire le dipendenze, in modo da mantenere facilmente aggiornati i dati con l'ultima versione di Blockly.

Include anche alcuni pratici script iniziali, ad esempio uno per testare il progetto localmente in un browser:

cd hello-world
npm run start

Per altri comandi, puoi fare riferimento al file package.json generato.

Annulla pacchetto

Se hai solo idee e non vuoi eseguire il bootstrap puoi caricare Blockly from unpkg utilizzando i tag di script.

Se aggiungi quanto segue a qualsiasi pagina HTML, puoi aprire il codice HTML direttamente in una browser per sperimentare 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>

Non si tratta di una buona soluzione a lungo termine per l'acquisizione di Blockly, in quanto funziona con bundler come webpack, ma è ideale per la prototipazione e degli esperimenti.

Ottieni il codice

Esistono diversi modi per ottenere il codice in modo che esegua Blockly.

Il team di Blockly consiglia di richiedere a Blockly tramite un gestore di pacchetti (ad esempio, NPM o Yarn) perché:

  • Rimanere aggiornati è più facile con le modifiche in Blockly
  • Incoraggia l'utilizzo di plug-in al posto del monkeypatching Blockly

Gestione dei partner di rete

npm install blockly --save

Filato

yarn add blockly

GitHub

Puoi anche scaricare il codice compresso dal nostro Release di GitHub. Tuttavia, per farlo devi eseguire manualmente scarica il codice a intervalli regolari per ricevere gli ultimi aggiornamenti e correzioni per Blockly.

Carica il codice

Una volta ricevuto il codice, puoi accedervi in vari modi dal tuo le API nel tuo codice.

Tag 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>

Quando utilizzi i tag di script, puoi accedere alle importazioni dallo spazio dei nomi globale:

// Access Blockly.
Blockly.thing;

// Access the default blocks.
Blockly.libraryBlocks['block_type'];

// Access the generator.
javascript.javascriptGenerator;

Importazioni

// 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 importi i file dei messaggi, devi applicarli.

Blockly.setLocale(En);

Richiede

// 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 richiedi i file dei messaggi, devi applicarli.

Blockly.setLocale(En);