CML文件规范校验

CML文件规范校验包括校验以下三个规范:

  • CML文件命名规范
  • CML文件内容规范
  • CML Interface内容规范

CML文件命名规范

以cml后缀结尾的文件分两种情况:

1. 多端实现完全一致组件命名格式:

  1. [component name].cml

组件所有逻辑实现在同一文件中

举例:

  1. demo.cml

2. 多端实现不一致组件命名格式:

  1. [component name].[weex|wx|alipay|baidu|web].cml

组件文件名按照适配端命名,需要同一目录下的interface文件组合使用

  1. [component name].interface

举例:

  1. demo.interface
  2. demo.weex.cml
  3. demo.wx.cml
  4. demo.alipay.cml
  5. demo.baidu.cml
  6. demo.web.cml

CML文件内容规范

cml文件中可能包括以下几个字段标签

  • template(template规范):标签中书写组件的视图层结构,chameleon自定义了一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。
  • style(CMSS规范):标签中书写组件的样式, 描述视图中的元素样式。
  • script(script规范):标签中填充编写组件逻辑层响应页面操作的代码。
  • json(json规范):标签中书写组件的配置信息。
    举例:
  1. // demo.cml code
  2. <template>
  3. <view id="banner">
  4. </view>
  5. </template>
  6. <script>
  7. class Index {
  8. }
  9. export default new Index();
  10. </script>
  11. <style scoped>
  12. #banner {
  13. background-color: #ff0000;
  14. }
  15. </style>
  16. <script cml-type="json">
  17. {
  18. "base":{
  19. "usingComponents": {
  20. }
  21. },
  22. "wx": {
  23. "navigationBarTitleText": "index",
  24. "backgroundTextStyle": "dark",
  25. "backgroundColor": "#E2E2E2"
  26. },
  27. "alipay": {
  28. "defaultTitle": "index",
  29. "pullRefresh": false,
  30. "allowsBounceVertical": "YES",
  31. "titleBarColor": "#ffffff"
  32. },
  33. "baidu": {
  34. "navigationBarBackgroundColor": "#ffffff",
  35. "navigationBarTextStyle": "white",
  36. "navigationBarTitleText": "index",
  37. "backgroundColor": "#ffffff",
  38. "backgroundTextStyle": "dark",
  39. "enablePullDownRefresh": false,
  40. "onReachBottomDistance": 50
  41. },
  42. "web": {
  43. },
  44. "weex": {
  45. }
  46. }
  47. </script>

CML Interface内容规范

具体可参见interface规范,.interface后缀文件用于定义多态组件的接口。