防郵件遭駭

本文適用對象為先前建立 Blockly,且打算在不修補程式庫的情況下更新至最新版 Blockly 的開發人員。雖然這似乎是一項艱鉅的任務,但您可以採取幾個步驟,讓整個程序更易於管理。

瞭解取消分裂

使用 mainline Blockly 表示您使用的是最近發布的 Blockly 版本,且所有自訂項目都會使用公開的 Blockly API,而不使用單線修補 API。「分支」是指使用主線 API 實作分支 API 時需要執行的自訂功能。

簡易拆除保護殼

以下是導致建立分支的兩個常見原因,以及返回主要線的解決方案:

  • 您已自行建立區塊和產生器,而不變更任何區塊程式碼:如要在這種情況下取消分支,只要將自訂區塊和產生器從 Blockly 存放區中移至自己的應用程式程式碼即可。然後您就可以更新 Blockly 版本。
  • 您已在 Blockly 命名空間中新增自訂功能,而不變更任何區塊程式碼:舉例來說,您新增了自訂欄位或僅供您應用程式使用的自訂欄位或輔助方法。如要解決這個問題,請將這個自訂程式碼移至 Blockly 存放區以外的應用程式。然後您就可以更新 Blockly 版本。

大量收震案例

判斷叉型功能

我們發現使用者分支的最後一個原因,是對 Blockly 進行修補,以建立使用者認為目前未納入上游的自訂功能。如果您的分支明顯過時,我們可能已新增您需要的功能,無論是外掛程式或核心功能都沒問題。如果您知道在分支中新增哪些地圖項目,就能為需要更新的功能提供發展藍圖。

瞭解架構

瞭解使用分支專用 API 的功能後,請考量下列事項:

  • 每個使用分支的功能是否都能使用 Blockly API 複製功能?
  • 如果您似乎無法使用 Blockly API 複製這項功能,請透過論壇與我們聯絡,或在 GitHub 上提出問題。我們的團隊隨後會調查新增 API,以啟用您的自訂功能。

找出您的禁止路徑

下一步是實際針對使用分支的功能實作新的 Blockly 架構程序。您可以採取下列兩種主要做法:

  • 升級 Blockly 並查看中斷點:您會在程式碼中立即看到需要更新的區域。您可以搭配使用這項做法和已知的自訂行為,引導開發工作進行。
  • 重構程式碼,將功能與 Blockly 區隔開來:這會要求您深入瞭解哪些功能是針對分支自訂,以及哪些來自 Blockly 的功能。完全分隔程式碼後,請將舊版 Blockly 替換為最新版本,然後修正其餘的整合問題。

向前移動

日後身為 Blockly 開發人員,您應遵守以下幾項規則:

  • 一般而言,不應將新的類別新增至 Blockly 命名空間,您可註冊自訂欄位或其他可註冊的類別,而不必在 Blockly 存放區或 Blockly 命名空間中宣告這些類別。
  • 您不應依賴 Blockly 的建構工具來編譯自己的應用程式。我們並未將建構工具視為公用 API 的一部分,因此可能會進行變更,導致應用程式無法正常運作。此時,您要負責編譯應用程式。

對外尋求協助

您隨時可以透過 Blockly Forum 存取封鎖功能!如果您在隱藏過程中遇到任何問題,歡迎您隨時提出,我們會提供協助。