取得 Blockly 程式碼的方式有很多種,取得程式碼後,您可以透過多種方式加載程式碼。
Create-package 指令碼
Blockly 提供可啟動初始應用程式的指令碼,您可以自行修改。這個架構使用常見的網路開發工具,例如 webpack 和 eslint,但不包含 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 團隊建議您透過套件管理工具 (例如 NPM 或 Yarn) 要求 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);