Open chenqiushi opened 6 years ago
mip cli 开发工具与整个开发流程关联紧密,在这里先讨论下一下当前的开发、调试流程。
这里要分成两种情况:
如果是第一种情况,那么开发方式很简单,直接在页面模板稍加改造,引入各种内置组件标签和 mip.js 运行时即可。
mip.js
如果是第二种情况,那么站长就需要自定义 mip 组件,经过开发、审核、发布、上线等流程后,在自己的站点引用。
这里暂不考虑站长注册,得到 appKey 相关的流程。
1.初始化脚手架
cd mip-project && mip2 init,生成自定义组件项目,初定文件结构是:
cd mip-project && mip2 init
├── mip-project ├── src ├── common ├── components └── mip-custom.vue ├── static ├── store └── package.json ├── mip.config ├── index.html
站长主要在这个项目中维护自己站点所有的自定义 mip 组件,mip.config 提供调试服务器等配置,index.html 提供了 mip 页面的基本 html 模板,方便开发者进行简单的调试。
mip.config
index.html
2.调试自定义组件
在项目根目录运行 mip2 start,启动调试 server,在本地对 .vue 文件进行编译,产出 js bundle (待定),并自动注入index.html。开发者即可在 index.html 引入开发中的 mip 组件标签,实时预览效果。如果是开发已有项目的页面模板(如 smarty 等),也可通过 <script> 引入形如 http://127.0.0.1:8111/bundle.js 的脚本进行预览和调试。
mip2 start
.vue
js bundle
<script>
http://127.0.0.1:8111/bundle.js
3.校验项目
开发完成,提交前,开发者可以在项目根目录运行 mip2 validate,对项目的组织结构,书写规范等进行校验,输出校验结果。
mip2 validate
4.发布组件
通过校验符合相关规范后,根目录运行 mip2 publish,将提交组件源码(src 目录)至 组件管理平台,一期暂时不考虑组件库的私有问题,后期如果支持私有,mip2 publish 命令需要加上帐号、appkey 之类的标识。
mip2 publish
5.上线组件
经过 mip2 publish 后的组件,只是提交至平台服务端完成了审核、编译的流程,并没有直接上线。开发者需要进一步操作:mip2 release 通知平台,将编译后的产物上线至 CDN
mip2 release
组件管理平台 需要完成审核、编译、上线等过程。不在开发流程之内,需要单独讨论。
组件上线后,在模板引入上线至 cdn 的组件脚本(如果使用 jet, 这里是不是只需要引入一个 mip.js 即可?),然后在模板里拼接 mip 组件标签,包含内置或自定义组件,一个 mip 页面就完成了。
这里是我今天会议讨论后的理解和设想,大家多多讨论。
mip 2.0 开发流程
mip cli 开发工具与整个开发流程关联紧密,在这里先讨论下一下当前的开发、调试流程。
这里要分成两种情况:
如果是第一种情况,那么开发方式很简单,直接在页面模板稍加改造,引入各种内置组件标签和
mip.js
运行时即可。如果是第二种情况,那么站长就需要自定义 mip 组件,经过开发、审核、发布、上线等流程后,在自己的站点引用。
自定义组件开发
这里暂不考虑站长注册,得到 appKey 相关的流程。
1.初始化脚手架
cd mip-project && mip2 init
,生成自定义组件项目,初定文件结构是:站长主要在这个项目中维护自己站点所有的自定义 mip 组件,
mip.config
提供调试服务器等配置,index.html
提供了 mip 页面的基本 html 模板,方便开发者进行简单的调试。2.调试自定义组件
在项目根目录运行
mip2 start
,启动调试 server,在本地对.vue
文件进行编译,产出js bundle
(待定),并自动注入index.html
。开发者即可在index.html
引入开发中的 mip 组件标签,实时预览效果。如果是开发已有项目的页面模板(如 smarty 等),也可通过<script>
引入形如http://127.0.0.1:8111/bundle.js
的脚本进行预览和调试。3.校验项目
开发完成,提交前,开发者可以在项目根目录运行
mip2 validate
,对项目的组织结构,书写规范等进行校验,输出校验结果。4.发布组件
通过校验符合相关规范后,根目录运行
mip2 publish
,将提交组件源码(src 目录)至 组件管理平台,一期暂时不考虑组件库的私有问题,后期如果支持私有,mip2 publish
命令需要加上帐号、appkey 之类的标识。5.上线组件
经过
mip2 publish
后的组件,只是提交至平台服务端完成了审核、编译的流程,并没有直接上线。开发者需要进一步操作:mip2 release
通知平台,将编译后的产物上线至 CDN组件管理平台 需要完成审核、编译、上线等过程。不在开发流程之内,需要单独讨论。
页面模板开发
组件上线后,在模板引入上线至 cdn 的组件脚本(如果使用 jet, 这里是不是只需要引入一个
mip.js
即可?),然后在模板里拼接 mip 组件标签,包含内置或自定义组件,一个 mip 页面就完成了。这里是我今天会议讨论后的理解和设想,大家多多讨论。