Scratch二次开发2:源代码目录结构解析

写在前面:

为公共事业做贡献,做了个开源版本:scratch.lite

开源版本带MySQL后台服务器,功能:注册、登录、保存作品、分享、修改作品名称、保存作品缩略图。

有兴趣的朋友可以去下载参考:lite: 一个轻量级的Scratch编程分享平台:注册登录、作品创作、作品管理、素材管理、用户管理,作品点赞、收藏、分享。

Scratch二次开发的纯技术交流QQ群:115224892/914159821

对于二次开发来说,最令人头痛的就是去了解原来的源代码。

熟练撑握源代码结构的好处:修改、添加、裁剪功能时,不会出一些莫名其妙的错误,或是改出一些隐藏着的BUG,二次开发时也会得心应手。

建议所有二次开发者都认真对源代码有个整体的了解(不一定要读所有源代码)。

一、scratch3.0的目录结构大体如下:(后续会慢慢完善,也请已经了解了的朋友留言,一起完善

scratch-gui
│
├── build                    # 编译后的文件夹
│   ├── static               # 静态资源:scratch内部需要一些文件
│   ├── chunks               # scratch核心加载器
│   ├── index.html           # scratch编辑器
│   ├── player.html          # scratch播放器
│   ├── xxx.html             # 默认的还会生成两个文件,可以从webpack.config.js去掉,加快编译
│   ├── lib.min.js           # scratch核心:开发模式时21M左右,生产模式打包的14M左右
├── dist                     # 编译后的文件夹:带BUILD_MODE=dist时生成。用于集成到www版本中,此处无用
├── node_modules             # 整个项目依赖模块库,有很多,重点需要处理的是多语言库 
│   ├── scratch-l10n         # 多语言库:建议只保留中文及英文,可以大大的减小lib.min.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.config.js       # webpack配置文件:生成、打包Scratch

components: 组件目录,主要定义UI组件的结构和样式,负责数据的展示

containers:主要负责对components中部分组件的封装,处理组件的业务逻辑,将组件的数据与redux打通,不涉及样式

css: 全局样式设置文件

examples/extensions: 关于scratch扩展的配置示例 

lib: 工具方法目录,供组件调用的一些模块和方法,其中以-hoc.jsx结尾的高阶组件,是为UI组件提供额外的功能方法

playground: 多种模式的使用示例:积木模式(blocks-only)、舞台模式(player)、完整模式(render-gui)

reducers: redux的store的初始状态、actions和 reducers的定义

src——>index.js: 作为 library 打包的入口文件

二、需要的基础技能:

react:http://caibaojian.com/react/

webpack:

          webpack | webpack中文文档 | webpack中文网

          滑动验证页面

          滑动验证页面

ES6:ES6入门,看这篇就够了_es6为什么是黑历史-CSDN博客

三、后续内容:(敬请关注)

1、多语种裁剪:只保留中、英文,可以把lib.min.js减小2M左右;

2、实现登录功能:简单分析scratch-www及在scratch-gui上实现相同账号功能;

3、实现保存、分享功能:添加一个小型服务器功能,并实现把项目保存到MySQL中及分享;

4、scratch-gui定制:用一个例子说明如何定制自己的scratch;

5、... ...

如果对您有用,请点个赞再走!!!Bailee 了个Bye!!!

彩纸屋少儿编程源码 scratch培训管理系统源码 scratch在线编程系统 关键词:scratch源码,scratch开源定制,scratch彩纸屋,少儿编程培训管理系统 彩纸屋是全国首家提供scratch开源定制和少儿编程培训管理系统源代码的服务商,彩纸屋提供的scratch培训管理系统可开源定制,方便用户二次开发,公司服务客户遍布全国各地,旗下方格侠系统可进行在线演示操作 特点: 一、基于scratch3.0的少儿编程在线模式,开启在线教学获客方式,体验有温度、有人情味的系统,解决编程培训机构线上业务的需求。 二、基于scratch3.0版本开发,平台采用THINKPHP5、VUE.js相结合 线上线下相互引流的新零售模式。通过大数据技术、人工智能技术,定制界面设计达到完美结合。为客户打造不一样的风格,转化的每一个核心技术环节。 三、创新、丰富的商业系统。彩纸屋编程系统为培训企业提供一站式服务,从全终端建站到全网推广。给你最新体验!创新的商业模式,功能多,覆盖广。 四、性价比高,从全终端、全能型网站,尽在掌握。 五、家校沟通,作业作品实时批改推送,手机端PC端同步编程,引流、互动、营销一步到位。方便管理层,加快成交进度! 六、应用范围广。专注于培训机构营销、平台之间的合作,支持网络多加公司,多人联网系统工作,更高效,更快捷。 七、权限分配和角色管理。灵活设置每一位成员的权限,角色不同分配管理层面。与各个角色无缝对接,获取海量用户,迅速进入盈利阶段。 八、移动端应用。深入行业解决方案,精准化营销,成为营销创新者! 方便快捷查询管理,想改就改,让您随心掌握。 详细介绍: 彩纸屋是全国首家提供scratch开源定制和少儿编程培训管理系统源代码的服务商,彩纸屋提供的scratch培训管理系统可开源定制,方便用户二次开发,公司服务客户遍布全国各地. 产品特色: 少儿编程在线系统(基于scratch3.0),开启在线模式获客方式,体验有温度、有人情味的系统,解决编程培训机构线上业务的需求。 基于scratch3.0版本开发,平台采用THINKPHP5、VUE.js相结合,线上线下相互引流的新零售模式,通过大数据技术、人工智能技术,定制界面设计达到完美结合。为客户打造不一样的风格,转化的每一个核心技术环节。 创新丰富的商业系统:彩纸屋编程系统为培训企业提供一站式服务,从全终端建站到全网推广。给你最新体验!创新的商业模式,功能多,覆盖广。 常见问题: 1、开源可定制是什么意思 软件代码开放,懂技术的可以自己调整或者新增功能,如果自己对技术不太懂可以联系我们公司给您定制您需要的功能 2、彩纸屋如何安装 解压压缩包后有一个名为彩纸屋的文件夹,打开文件夹中的本地环境部署详细说明,里面有详细的安装步骤。 少儿编程源码环境推荐: > php5.5+ > mysql 5.6+ > 打开服务器 更新日志:更新了素材管理
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值