Как получить код

Есть несколько способов получить код Blockly и несколько способов загрузить его после получения.

Скрипт создания пакета

Blockly предоставляет скрипт, который загружает стартовое приложение, которое вы затем можете изменить. Он использует распространенные инструменты веб-разработки, такие как webpack и eslint , но не включает фреймворк, такой как React или Angular.

Для этого вам потребуется установить node.js и npm перед выполнением следующих команд.

Чтобы создать приложение, написанное на JavaScript, в новом каталоге hello-world :

npx @blockly/create-package app hello-world

Чтобы создать приложение, написанное на TypeScript, в новом каталоге hello-world :

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

Они создают пакет, который импортирует package targets . Он также использует файл package.json для управления зависимостями, что позволяет легко оставаться в курсе последних версий Blockly.

В комплект также входят несколько удобных стартовых скриптов, например, один для локального тестирования проекта в браузере:

cd hello-world
npm run start

Другие команды можно найти в сгенерированном файле package.json.

Распаковать

Если вы просто экспериментируете с идеями и не хотите загружать полноценное приложение, вы можете загрузить Blockly из unpkg с помощью тегов скрипта.

Если вы добавите следующее на любую HTML-страницу, вы сможете открыть HTML-код непосредственно в браузере, чтобы поэкспериментировать с 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>

Это не лучшее долгосрочное решение для приобретения Blockly, поскольку оно не работает с такими упаковщиками, как Webpack, но оно хорошо подходит для создания прототипов и экспериментов.

Получить код

Есть несколько способов заставить код запустить Blockly.

Команда Blockly рекомендует запрашивать Blockly через менеджер пакетов (например, NPM или Yarn ), поскольку:

НПМ

npm install blockly --save

пряжа

yarn add blockly

GitHub

Вы также можете загрузить сжатый код из наших релизов GitHub . Однако для этого вам придется вручную загружать код через регулярные промежутки времени, чтобы получать последние обновления и исправления для Blockly.

��агрузить код

Получив код, вы можете получить к нему доступ несколькими способами.

Теги скрипта

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

При использовании тегов скрипта вы можете получить доступ к импорту из глобального пространства имен:

// Access Blockly.
Blockly.thing;

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

// Access the generator.
javascript.javascriptGenerator;

Импорт

// 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';

При импорте файлов сообщений их также необходимо применить.

Blockly.setLocale(En);

Требует

// 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');

Когда вам понадобятся файлы сообщений, вам также необходимо будет их применить.

Blockly.setLocale(En);