코드 가져오기

Blockly 코드를 가져오는 방법과 가져온 코드를 로드하는 방법은 여러 가지가 있습니다.

create-package 스크립트

Blockly는 스타터 애플리케이션을 부트스트랩하는 스크립트를 제공하며, 이 스크립트는 수정할 수 있습니다. webpackeslint와 같은 일반적인 웹 개발 도구를 사용하지만 React나 Angular와 같은 프레임워크는 포함하지 않습니다.

이렇게 하려면 다음 명령어를 실행하기 전에 node.js와 npm을 설치해야 합니다.

hello-world 디렉터리에 JavaScript로 작성된 애플리케이션을 만들려면 다음 단계를 따르세요.

npx @blockly/create-package app hello-world

hello-world 디렉터리에 TypeScript로 작성된 애플리케이션을 만들려면 다음 단계를 따르세요.

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

이렇게 하면 패키지 타겟을 가져오는 패키지가 생성됩니다. 또한 package.json 파일을 사용하여 종속 항목을 관리하므로 최신 버전의 Blockly를 쉽게 최신 상태로 유지할 수 있습니다.

또한 브라우저에서 로컬로 프로젝트를 테스트하는 스크립트와 같은 유용한 시작 스크립트도 함께 제공됩니다.

cd hello-world
npm run start

생성된 package.json 파일에서 다른 명령어를 참조할 수 있습니다.

Unpkg

아이디어를 실험해 보고 전체 애플리케이션을 부트스트랩하고 싶지 않다면 스크립트 태그를 사용하여 unpkg에서 Blockly를 로드하면 됩니다.

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>

webpack과 같은 번들러와 호환되지 않으므로 Blockly를 획득하는 데 장기적으로 적합한 솔루션은 아니지만 프로토타입 제작 및 실험에는 적합합니다.

코드 가져오기

Blockly를 실행하는 코드를 가져오는 방법에는 여러 가지가 있습니다.

Blockly 팀에서는 다음과 같은 이유로 패키지 관리자 (예: NPM 또는 Yarn)를 통해 Blockly를 요구하는 것이 좋습니다.

  • Blockly의 변경사항을 쉽게 최신 상태로 유지할 수 있습니다.
  • Blockly에 몽키패치를 적용하는 대신 플러그인 사용을 권장합니다.

NPM

npm install blockly --save

Yarn

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