scratch3.0二次開發之scratch-blocks的免編譯修改方法

scratch-blocks編譯的時候會出現的問題:scratch-gui依賴的scratch-blocks模塊在安裝的時候編譯會報錯。
在這裏插入圖片描述
原因:scratch-blocks編譯時要調用的build.py文件運行時發生錯誤。windowst系統下,代碼壓縮的過程是build.py通過一個closure-library的插件處理後,發送到谷歌的服務器進行壓縮,返回的結果會生成blocks_compressed.js,blocks_compressed_horizontal.js,blocks_compressed_vertical.js這幾個文件。(linux系統下,有網友反映會編譯成功的。)build.py運行時,因爲window系統在574行處要處理大量的信息流,所以導致錯誤發生。但即便成功,因爲之後要把代碼發送到國內經常訪問不到的谷歌服務器,所以也會經常編譯失敗。這種方法每修改一次代碼就要編譯一次,效率比較低,比較耗時。

有沒有種方法不用編譯,就能修改scratch-blocks代碼,而且能即時生效呢?答案是,有的。

scratch3.0是怎麼引進scratch-blocks的呢?在scratch-gui的源文件src\containers\blocks.jsx中,引入了scratch-blocks,

import VMScratchBlocks from '../lib/blocks';

嗯…這是經過修改後的blocks,我們再順着調用的路徑,打開文件src\lib\blocks.js,這文件的作用是修改對應的角色(target)塊的菜單項。

第一步,引入scratch-block

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章