Closed alvinhui closed 4 years ago
包含角色:
各角色的关系:
可配置的内容由模板指定。
生成代码:
├── PageName/ │ ├── components/ │ ├── index.tsx
使用 Iceworks 脚手架进行开发。
$ mkdir my-material && cd my-material $ iceworks init
页面项目示例:https://github.com/alvinhui/example-for-iceworks-page-template
开发一个 Example 用于展示用户和任务信息,我们在项目根目录执行命令,添加一个页面项目:
$ iceworks add page
目录结构:
. ├── blocks ├── package.json └── pages └── example ├── config │ ├── mock.js 模拟配置 │ └── settings.json 用于生成表单的配置 └── src 模板源码 ├── components │ ├── Todos │ │ └── index.tsx.ejs │ └── User │ └── index.tsx.ejs ├── index.tsx.ejs ├── build.json └── package.json
执行以下命令即可开始开发:
$ cd page/example $ npm install $ npm start
物料开发完成后,即可通过 npm 发布。
src 文件夹用于存放页面模板,模板使用 ejs 开发。入口及组件都可以用 ejs 来进行开发。
config 文件夹存放页面模板可配置项,最终用于生成供业务开发者使用的配置化表单:
新增 pageConfig 字段,基础子字段同 blockConfig。
pageConfig
blockConfig
添加 build-plugin-material-template 插件,使用模板化方案。
或者更新 build-plugin-block 插件,方案二选一
{ "plugins": [ "build-plugin-block", "build-plugin-material-template", "build-plugin-fusion", ["build-plugin-moment-locales", { "locales": ["zh-cn"] }] ] }
待补充。
可使用自定义的组件渲染表单,可配置字段为:
{ "type": "custom", "assets": { "css": "https://unpkg.com/example-component-tesing2@1.0.1/dist/ExampleComponent.css", "js": "https://unpkg.com/example-component-tesing2@1.0.1/dist/ExampleComponent.js", }, "library": "ExampleComponent" }
自定义组件的规范:
onSubmit
onSubmit: () => object
将每个物料发布到 npm 之后,我们即可生成物料集合数据,在根目录下执行以下命令:
$ iceworks generate
会生成 build/materials.json 文件,这个文件描述了整个物料集合的元数据。
build/materials.json
接着通过 iceworks sync 方式将物料数据同步到物料中心,也可以通过私有的服务托管,同步完成后我们会得到一个 url 可以访问到这些物料数据。
iceworks sync
iceworks add page
iceworks generate
在 iceworks-ui-builder 新增创建页面链路,选择模板创建页面。
config/settings.json
至少三个官方页面物料:https://github.com/alibaba-fusion/materials
发布时间点:8.27
技术运营:8.31 发布文章
开发页面模板遇到的几个问题:
开发页面模板遇到的几个问题: 开发过程中如果修改mock.js的文件,ejs不会按照最新的数据编译,需要重新tnpm start ejs编译之后的模板需要执行一下代码格式化js beautify ,不然代码可读性很差(有缩进问题) 页面模板开发完成后,在浏览器里调试并没有自动加载执行(页面空白?)
第三点可以具体描述一下吗,没有太懂。
0.8.0 已发布
1. 产品方案
1.1 角色和关系
包含角色:
各角色的关系:
2.2 业务开发者使用链路
第一步:唤起创建页面界面
第二步:选择模板
第三步:配置模板
可配置的内容由模板指定。
第四步:生成页面
生成代码:
2.3 页面模板开发者开发链路
使用 Iceworks 脚手架进行开发。
第一步:初始化物料项目
第二步:开发页面项目
开发一个 Example 用于展示用户和任务信息,我们在项目根目录执行命令,添加一个页面项目:
目录结构:
执行以下命令即可开始开发:
物料开发完成后,即可通过 npm 发布。
模板开发规范
src/
src 文件夹用于存放页面模板,模板使用 ejs 开发。入口及组件都可以用 ejs 来进行开发。
config/
config 文件夹存放页面模板可配置项,最终用于生成供业务开发者使用的配置化表单:
package.json
新增
pageConfig
字段,基础子字段同blockConfig
。build.json
添加 build-plugin-material-template 插件,使用模板化方案。
setings.json
type = formily
待补充。
type = custom
可使用自定义的组件渲染表单,可配置字段为:
自定义组件的规范:
onSubmit
API,提交表单时调用该方法,传出设置的数据:onSubmit: () => object
第三步:生成物料数据
将每个物料发布到 npm 之后,我们即可生成物料集合数据,在根目录下执行以下命令:
会生成
build/materials.json
文件,这个文件描述了整个物料集合的元数据。第四步:发布物料数据
接着通过
iceworks sync
方式将物料数据同步到物料中心,也可以通过私有的服务托管,同步完成后我们会得到一个 url 可以访问到这些物料数据。2. 技术方案
2.1 Iceworks 脚手架
iceworks add page
在物料仓库添加页面项目iceworks generate
支持生成 pages 数据2.2 Iceworks 插件
在 iceworks-ui-builder 新增创建页面链路,选择模板创建页面。
config/settings.json
2.3 官方页面物料
至少三个官方页面物料:https://github.com/alibaba-fusion/materials
3. 里程碑
发布时间点:8.27
技术运营:8.31 发布文章
相关资料: