如何创建单独的Scratch作品展示页?

创建展示页面的jsx文件?

配置webpack.config.js编译生成展示页面


创建展示页面的jsx文件?

创建project.jsx的内容和css样式,加入src/playground文件中。

const DEFAULT_PROJECT_ID = '80';const Project = ({isPlayerOnly, projectId}) => (<Box className={classNames(styles.stageOnly)}><GUIisPlayerOnly={isPlayerOnly}projectId={projectId}isCreator={false}isFullScreen={false}/></Box>
);Project.propTypes = {isPlayerOnly: PropTypes.bool,projectId: PropTypes.string
};const mapStateToProps = state => {const pid = window.location.hash.substring(1) || DEFAULT_PROJECT_ID;return{isPlayerOnly: state.scratchGui.mode.isPlayerOnly,projectId:pid}
};const mapDispatchToProps = dispatch => ({onSeeInside: () => dispatch(setPlayer(false))
});const ConnectedProject = connect(mapStateToProps,mapDispatchToProps
)(Project);// note that redux's 'compose' function is just being used as a general utility to make
// the hierarchy of HOC constructor calls clearer here; it has nothing to do with redux's
// ability to compose reducers.
const WrappedProject = compose(AppStateHOC,HashParserHOC
)(ConnectedProject);const appTarget = document.createElement('div');
document.body.appendChild(appTarget);ReactDOM.render(<WrappedProject isPlayerOnly/>, appTarget);

获取地址栏中的#id:    const pid = window.location.hash.substring(1).

通过id请求后台显示指定的作品内容。

配置webpack.config.js编译生成展示页面

对webpack.config.js 的module.exports=[]  进行修改配置,然后 npm run build重新编译scratch  (react.js)

 defaultsDeep({}, base, {entry: {'lib.min': ['react', 'react-dom'],'gui': './src/playground/index.jsx','blocksonly': './src/playground/blocks-only.jsx','compatibilitytesting': './src/playground/compatibility-testing.jsx','player': './src/playground/player.jsx','project': './src/playground/project.jsx'},plugins: base.plugins.concat([new webpack.DefinePlugin({'process.env.NODE_ENV': '"' + process.env.NODE_ENV + '"','process.env.DEBUG': Boolean(process.env.DEBUG),'process.env.GA_ID': '"' + (process.env.GA_ID || 'UA-000000-01') + '"'}),new HtmlWebpackPlugin({chunks: ['lib.min', 'gui'],template: 'src/playground/index.ejs',title: '小小鲁创客Scratch编程考级练习场',sentryConfig: process.env.SENTRY_CONFIG ? '"' + process.env.SENTRY_CONFIG + '"' : null}),new HtmlWebpackPlugin({chunks: ['lib.min', 'blocksonly'],template: 'src/playground/index.ejs',filename: 'blocks-only.html',title: '小小鲁创客Scratch编程考级练习场: Blocks Only Example'}),new HtmlWebpackPlugin({chunks: ['lib.min', 'compatibilitytesting'],template: 'src/playground/index.ejs',filename: 'compatibility-testing.html',title: '小小鲁创客Scratch编程考级练习场: Compatibility Testing'}),new HtmlWebpackPlugin({chunks: ['lib.min', 'player'],template: 'src/playground/index.ejs',filename: 'player.html',title: '小小鲁创客Scratch编程考级练习场: Player Example'}),new HtmlWebpackPlugin({chunks: ['lib.min', 'project'],template: 'src/playground/index.ejs',filename: 'project.html',title: '小小鲁创客Scratch编程考级练习场'}),new CopyWebpackPlugin([{from: 'static',to: 'static'}]),new CopyWebpackPlugin([{from: 'node_modules/scratch-blocks/media',to: 'static/blocks-media'}]),new CopyWebpackPlugin([{from: 'extensions/**',to: 'static',context: 'src/examples'}]),new CopyWebpackPlugin([{from: 'extension-worker.{js,js.map}',context: 'node_modules/scratch-vm/dist/web'}])])})

将创建的单页面prject.jsx配置进去,chunks:['lib.min','project'].   lib.min.jsx属于库依赖。

主要修改defaultsDeep的两个字段

entry

plugins

新加入部分

'project': './src/playground/project.jsx'

new HtmlWebpackPlugin({
                chunks: ['lib.min', 'project'],
                template: 'src/playground/index.ejs',
                filename: 'project.html',
                title: '小小鲁创客Scratch编程考级练习场'
            })

最后

完成的成品:https://www.10jifen.com/scratch/project.html#128

关于scratch3.0二次开发继续更新,希望对大家有帮助。

出售源码/服务

最近很多机构和个人找到我的微信,问我是否卖源码或者可以提供服务。

为了确保大家买得放心,买的公平,我在这里统一说明一下:

  • 买源码:基本上是有研发能力的个人/机构,想透过源码了解核心解决方案,该方案采用买断制:提供源码与咨询,价格3万元。
  • 买服务:对技术不了解,但想提升机构形象和信息化的机构,该方案采用年费制:私有化搭建,价格5000元/年,包括服务器费用(域名与资源图片存储费用500元/年,根据存储量决定)。

有意向加微信详聊。

如果文章帮助了你,请在右边点击打赏5C币,感谢!

Scratch二次开发——如何创建单独的Scratch作品展示页?相关推荐

  1. NX二次开发-UFUN创建圆柱UF_MODL_create_cyl1

    NX二次开发-UFUN创建圆柱UF_MODL_create_cyl1 NX9+VS2012#include <uf.h> #include <uf_modl.h> #inclu ...

  2. NX二次开发-UFUN创建工程图注释UF_DRF_create_note

    NX二次开发-UFUN创建工程图注释UF_DRF_create_note NX9+VS2012#include <uf.h> #include <uf_drf.h> #incl ...

  3. NX二次开发 UFUN创建倒角特征 UF_MODL_create_chamfer

    NX二次开发 UFUN创建倒角特征 UF_MODL_create_chamfer #include <UF_MODL.h>//创建块(创建长方体) bool CreateBlock(con ...

  4. c# CAD二次开发 类库 创建各种图形、直线、圆、多段线、正方形、点等

    c# CAD二次开发 类库 创建各种图形.直线.圆.多段线.正方形.点等 using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD ...

  5. NX二次开发-UFUN创建图纸注释uc5540

    NX二次开发-UFUN创建图纸注释uc5540 NX9+VS2012#include <uf.h> #include <uf_drf.h>UF_initialize();//创 ...

  6. NX二次开发-UFUN创建扫掠UF_MODL_create_sweep

    NX二次开发-UFUN创建扫掠UF_MODL_create_sweep 这个函数挺复杂的,我也是参考别人去做的.但是我还是没有做出来多段引导线的. 我们在做钻头螺旋槽的时候,一般都是拿一个封闭截面,三 ...

  7. NX二次开发-UFUN创建圆锥UF_MODL_create_cone1

    NX二次开发-UFUN创建圆锥UF_MODL_create_cone1 NX11+VS2013#include <uf.h> #include <uf_modl.h>UF_in ...

  8. NX二次开发 UFUN创建图纸尺寸表达式抑制 UF_DRF_add_controlling_exp

    NX二次开发 UFUN创建图纸尺寸表达式抑制 UF_DRF_add_controlling_exp NX8.0+VS2010#include <uf.h> #include <uf_ ...

  9. scratch二次开发(一)

    一.scratch模块 ## scratch-vm 虚拟机解析加载序列化项目文件.扩展功能实现.根据相应事件渲染舞台### scratch-audio 声音引擎解析.播放声音### scratch-b ...

  10. 【Revit 二次开发 】创建带箭头的文字注释(字体设置+引线箭头设置)

    此篇文章仅是自己的开发经验分享,不具备官方参考价值,如有不足,欢迎批评指正 开发目的: 创建一个带箭头的文字注释 字体为新宋体,大小2.5mm,宽度系数0.7,箭头为30度实心箭头 like this ...

最新文章

  1. CV00-01-开篇与环境搭建
  2. 疯狂ios讲义疯狂连载之显示动画
  3. KafKa-----acks参数对消息持久化的影响
  4. 同步两个数据库的结构或者数据
  5. IP与DSCP优先级
  6. 递归生成全排列【C/C++】
  7. 初始化QChart极坐标图(含曲线、散点)
  8. 为什么手机上传图片这么慢 前端_为什么手机拿去维修,店家总说第二天来取?修手机真这么慢?...
  9. Latex指南(part1)--利用beamer制作学术报告文稿
  10. BootstrapTable冻结表头(一)
  11. 笔记:J2EE核心模式(待补充)
  12. PHP no input file specified 三种解决方法
  13. 修改表结构的执行效率
  14. Gladder好强大
  15. 导纳矩阵 matlab,matlab实现导纳矩阵
  16. 数字转换为人民币大写
  17. 网络教育本科统考计算机和英语作文,2020年9月网络教育统考大学英语B模拟冲刺题试卷3...
  18. 抖音 触摸精灵_抖音上超火的iPhone图标滑动技巧!还不知道怎么设置就out啦
  19. oracle 10g R2数据库的安装部署
  20. 曾经爱过你试听,歌曲曾经爱过你mp3下载,歌词 - 郑源

热门文章

  1. 【分形理论、分形维数、多重分形、Matlab程序等整理】
  2. 流媒体RTMP协议解析
  3. java实现录屏_javacv实现桌面端录屏
  4. MySQL数据库恢复-勒索病毒 PLEASE_READ_ME_VVV、delete、drop,没有binlog 数据库恢复工具 持续更新2020.5.27
  5. 如何通过WebEx Meeting进行远程IT协作?
  6. 教师计算机应用能力现状分析,信息技术教学应用个人现状分析以及发展计划
  7. (论文加代码)基于deap数据集的脑电情绪识别(二分类改为八分类)
  8. 虚拟化服务器安装方法,Citrix Xenserver:7.0虚拟化服务器安装详细图文教程
  9. axure原型素材模板-手机端蓝色科幻科技动态酷炫游戏大数据手机H5页面模板素材聊天
  10. 分析Redis集群原理