排除開發人員工具

Blockly 開發人員工具是網頁式開發人員工具,可協助您建立自訂區塊,並將這些區塊納入應用程式。

Block Factory 螢幕截圖,顯示工具箱和各種輸出區域

定義區塊

Block Factory 工作區會從空白設定區塊開始。您可以將工具箱中各類別的區塊拖曳到區塊中,藉此新增輸入欄位。您也可以修改設定區塊,為區塊設定工具提示文字、說明網址、顏色和連線檢查。

區塊工廠一次只能建立一種區塊。如果您想設計多個連結在一起的區塊,就必須分別設計這些區塊,並在工具箱定義中將這些區塊連結起來。此外,區塊可以包含變異子等進階功能,但這些進階功能無法在工廠中建立。建立區塊的基本表單後,您必須根據說明文件修改區塊定義。

當您在工作區中修改設定區塊時,區塊的預覽畫面會自動更新。您需要在應用程式中加入的程式碼也會自動更新。

輸出設定

Blockly 支援不同的定義區塊和載入 Blockly 本身的方法,以及多種內建程式碼產生器語言。定義區塊和區塊程式碼產生器的方式取決於這些因素,因此您可以在區塊工廠中設定這些因素,以便變更程式碼輸出內容。

輸出設定面板的螢幕截圖,其中包含 Blockly 匯入格式、區塊定義格式和程式碼產生器語言的選取器

Blockly 匯入格式

您可以透過 HTML 中的 <script> 標記載入 Blockly,如果您在應用程式中使用建構工具,也可以使用 import 陳述式。這個選擇會影響您參照 Blockly API 的特定部分的方式。如要進一步瞭解如何選擇,請參閱有關載入 Blockly 的說明文件。無論您使用哪種方法,請務必在 Block Factory 中選取相應選項,以便將正確的程式碼新增至應用程式。

區塊定義格式

Blockly 支援以 JSON 或 JavaScript 定義區塊。建議使用 JSON 格式,但如果您要新增變異器等進階功能,則可以使用 JavaScript 格式。

程式碼生成器語言

Blockly 提供多種程式碼產生器語言。請選擇應用程式所需的語言,以便顯示對應的區塊程式碼產生器輔助程式。如果您使用自訂語言產生器,則可在將程式碼複製到應用程式後,修改自訂 CodeGenerator 類別的名稱。

程式碼輸出內容

在 Block Factory 的後續章節中,我們會說明您需要將哪些程式碼複製到應用程式中,才能載入您建立的區塊。您複製程式碼的位置取決於應用程式的結構,但通常您需要在定義和區塊程式碼產生器前執行程式碼標頭,在嘗試在工具箱中使用區塊定義前執行區塊定義,以及在嘗試為工作區產生程式碼前執行區塊程式碼產生器。您可以使用複製按鈕,為每個部分複製整個程式碼區塊。

如果您仍不確定如何使用程式碼輸出內容,不妨參考範例應用程式,其中包含自訂區塊和區塊程式碼產生器的範例。

程式碼標頭

「Code Headers」部分會顯示載入核心 Blockly 程式庫和您選擇的語言產生器所需的程式碼。這裡也可能有其他設定;例如,您在區塊中加入的部分欄位可能來自 Blockly 外掛程式。這些外掛程式會有自己的匯入陳述式,以及您必須執行以初始化欄位的其他程式碼。您應在下列任何程式碼區段之前加入這段程式碼。

區塊定義

區塊定義是您向 Blockly 說明區塊形狀的方式,例如區塊包含哪些欄位和輸入內容、顏色等。執行這段程式碼後,Blockly 就會知道如何根據 type 建立區塊。

如果您使用的是範例應用程式,可以將這段程式碼加入 blocks/ 目錄底下的檔案中。如果您有自己的應用程式結構,請務必先加入這段程式碼,再嘗試以名稱參照區塊,例如在工具箱定義中。無論如何,請務必在包含此程式碼的檔案中加入程式碼標頭。

產生器輔助程式

區塊程式碼產生器是用來描述應為區塊產生的程式碼。Block Factory 建立的產生器 Stub 會提供基本程式碼,用於取得區塊中輸入內容和欄位的值。您可以將這些值合併至最終產生的程式碼!

如果您使用的是範例應用程式,可以將這段程式碼加入 generators/ 目錄底下的檔案中。如果您有自己的應用程式結構,請務必先加入這段程式碼,再嘗試為包含自訂區塊的工作區產生程式碼。無論如何,請務必在納入此程式碼的檔案中加入程式碼標頭。

影片逐步操作說明

這部影片將詳細說明定義區塊的步驟。雖然 UI 已過時,但它所強調的區塊功能仍算準確。

方塊程式庫

每次變更區塊時,系統都會自動將區塊儲存在瀏覽器的本機儲存空間中。您可以按一下頂端工具列中的對應按鈕,建立新的區塊或從本機儲存空間載入現有區塊。

從舊版 Block Factory 匯入

如果您已使用舊版 Block Factory,且想要將現有的區塊定義遷移至新工具,請按照下列步驟操作:

  1. 在舊版 Block Factory 中,按一下工具列中的 Export Block Library 按鈕。系統會下載包含所有區塊定義的檔案。

    舊版 Block Factory 的螢幕截圖,其中標示出「Export Block Library」按鈕

  2. 在新版的 Block Factory 中,按一下工具列中的 Load block 按鈕。

  3. 在選單中選取「Import from Block Factory」(從 Block Factory 匯入) 選項。

    Block Factory 的螢幕截圖,顯示醒目顯示的「Load block」和「Import」按鈕

  4. 上傳您在步驟 1 下載的檔案。

  5. 您的區塊定義應會自動轉換為新格式,並會顯示在 Load block 選單中。如果區塊與現有區塊發生衝突,系統可能會重新命名區塊。

  6. 如果解析任何區塊時發生錯誤,我們就無法載入這些區塊。您可以針對 blockly-samples 回報錯誤,並附上無法剖析的檔案,協助我們解決問題。