初步方案(求建议)
- 目标 => 用一个mold.js能够完全渲染出一个静态图片
- 保持核心代码纯粹,尽量不要加入游戏王的相关逻辑
- 数据处理部分写在
dataProcess
中,保证具体业务逻辑可插拔 - render函数能保证在node和browser兼容,且无其他无关逻辑
- fileLoader内部对图片素材进行必要的缓存
- fontLoader可以参考FontFace,兼容手段可以参考cardjs v1代码
- 数据驱动更新。√
- 局部渲染。√
- 循环渲染(典型的:等级星星)。√
- 条件渲染(自定义组件渲染的条件)。√
- 一些语法糖。比如可以把几个组件相同的部分写在一起,支持嵌套:
// 以下将会被拆分成两个component
{
type: 'text',
style: {
y: 1107,
width: 72,
font: 'number',
fontSize: 36,
textAlign: 'right',
},
inherit: [
{
name: '攻击力',
text: data => data.attack,
style: { x: 585 },
},
{
name: '防御力',
text: data => data.defend,
style: { x: 750 },
},
],
}
{
name: '攻击力',
type: 'text',
text: data => data.attack,
style: {
x: 585,
y: 1107,
width: 72,
font: 'number',
fontSize: 36,
textAlign: 'right',
},
},
{
name: '防御力',
type: 'text',
text: data => data.defend,
style: {
x: 750,
y: 1107,
width: 72,
font: 'number',
fontSize: 36,
textAlign: 'right',
},
}