原文地址:https://blog.csdn.net/weiwoyonzhe/article/details/86603757
簡要介紹: 本文旨在介紹scratch3.0項目層次結構及關鍵功能。
源碼:https://github.com/LLK/scratch-gui
核心依賴庫

scratch-audio:聲音拓展
scratch-blocks:代碼積木塊
scratch-l10n:國際化
scratch-paint:繪圖拓展
scratch-render:舞台渲染,在舞台區域出現的基於WebGL的處理器。
scratch-storage:作品存儲加載
scratch-svg-renderer:svg處理
scratch-vm:虛擬機,管理狀態並執行業務邏輯。
Scratch-Gui目錄結構
在scratch中最為核心的便是gui庫,目錄結構如下:
├── build # 默認編譯后的文件夾
│ ├── static # 靜態資源
│ ├── index.html
│ ├── gui.js
│ ├── lib.js # 編譯后主要的js文件
├── src
│ ├── components # UI組件,負責頁面呈現
│ ├── containers # 容器組件,承載容器組件業務邏輯
│ ├── css # 全局通用css
│ ├── examples # 集成測試用例
│ ├── extensions # 拓展案例
│ ├── lib # 插件及高階組件
│ ├── audio # 聲音插件
│ ├── backpack # 背包插件
│ ├── default-project # 默認項目
│ ├── libraries # 素材庫相關
│ ├── video # 視頻模塊
│ ├── playground # 編譯后頁面的模版
│ ├── reducers # 全局狀態控制
├── test # 測試用例
├── translations # 翻譯庫
├── README.md
└── package.json
└── webpack.consig.js
