取得程式碼

取得 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>

這並非取得 Blockly 的長期解決方案,因為它無法與 webpack 等套件組合器搭配使用,但用於製作原型和實驗相當合適。

取得程式碼

您可以透過多種方式取得可執行 Blockly 的程式碼。

Blockly 團隊建議您透過套件管理工具 (例如 NPMYarn) 要求 Blockly,因為:

  • 更容易掌握 Blockly 的最新變更
  • 建議使用外掛程式,而非對 Blockly 進行猴子修補

NPM

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