Min组件库示例

  • 示例项目是放在 min-cli 工程下的,首先需要通过 git 将仓库 clone 下来
  1. $ git clone https://github.com/meili/min-cli
  • 进入组件库示例项目,在工程的 example/min-ui 目录下
  1. $ cd ~/min-cli/example/min-ui
  • 安装项目依赖
  1. $ npm install
  • 开启本地调试。未安装 min 命令行工具?点击这里查看 安装教程
  1. $ min dev
  • 打开微信开发者工具,选择 dist 文件夹,浏览项目。

示例里默认有个 toast 组件,通过微信开发者工具预览可以看到这个样子:组件库首页

用户可以点击首页的导航进入到 toast 组件的示例页面,可以看到组件的示例代码展示、API文档 和 Changelog 版本日志:toast组件示例页面

  • 接下来进一步了解 组件package、Demo示例、API文档 这三者是怎么通过示例页面呈现出来的。

首先我们看下目录结构

  1. min-ui
  2. ├── dist 微信开发者工具指定的目录
  3. ├── node_modules
  4. ├── packages 代码编写的目录(该目录为使用 Min 后的开发目录,用于管理各个 组件package 的主目录)
  5. | ├── wxc-toast 组件的 package 目录
  6. | | ├── src
  7. | | | └── index.wxc 组件的源码编写文件(组件入口文件必须为index.wxc
  8. | | ├── package.json 组件的 package 配置
  9. | | └── README.md 组件的 README 文档
  10. └── src 代码编写的目录(该目录为使用 Min 后的开发目录)
  11. ├── pages
  12. | ├── home
  13. | | ├── index.wxp home 页面
  14. | ├── toast toast组件示例
  15. | | ├── demos 示例目录列表
  16. | | | └── demo-default.wxc 示例代码
  17. | | └── index.wxp 示例入口页面
  18. └──app.wxa 小程序配置项

小程序的页面放在pages目录下,而每一个组件应该是一个完整独立的NPM包而不是一个完整页面。所以 Min 设计了这样的目录结构,将组件package 和展示组件的示例页面是放在不同目录下。即 组件package 放在 packages 目录下,示例页面放在 src/pages 目录下。有序组织页面和组件的引用关系,将 示例入口页面 引用多个 示例代码 和一个 组件文档 ,再由每个 示例代码 引用 组件源码 ,用户通过 min dev 指令执行转换成原生小程序的目录结构

注: dist目录 是微信开发者工具指定的目录,该目录由 Min 的 dev 指令自动编译生成,请不要直接修改该目录下的文件

  • 请尝试修改组件代码

打开组件 ~/min-ui/packages/wxc-toast/src/index.wxc 文件

  1. <template>
  2. <view class="wxc-toast">
  3. <view>WxcToast Component</view>
  4. <!-- 修改此处 - start -->
  5. <view class="text">这是一行新增的代码</view>
  6. <!-- 修改此处 - end -->
  7. </view>
  8. </template>
  9. <script>
  10. export default {
  11. config: {
  12. usingComponents: { }
  13. },
  14. behaviors: [ ],
  15. properties: { },
  16. data: { },
  17. methods: { }
  18. }
  19. </script>
  20. <style>
  21. .wxc-toast {
  22. }
  23. /* 修改此处 - start */
  24. .text {
  25. color: red;
  26. }
  27. /* 修改此处 - end */
  28. </style>

修改保存后,切换到 微信开发者工具 再进入到 taost组件的示例页面 toast组件示例页面

  • 请尝试为组件新增一个Demo示例

    • 进入 ~/min-ui/pages/toast/demos 示例目录
    • 创建一个示例文件 demo-custom.wxc (示例文件名以demo-开始) 或复制已有的文件(为了方便,这里直接采用复制的方式)
  1. <template>
  2. <wxc-toast></wxc-toast>
  3. </template>
  4. <script>
  5. export default {
  6. config: {
  7. usingComponents: {
  8. 'wxc-toast': 'wxc-toast'
  9. }
  10. },
  11. data: { },
  12. methods: { }
  13. }
  14. </script>
  15. <style>
  16. </style>
  • 打开示例页面 ~/min-ui/pages/toast/index.wxp 文件,把刚新增的示例加进来
  1. <template>
  2. <example title="wxc-toast" desc="提示">
  3. <example-demo title="请填写示例名称" desc="请填写示例描述">
  4. <demo-default></demo-default>
  5. </example-demo>
  6. <!-- 修改此处 - start -->
  7. <example-demo title="请填写示例名称" desc="请填写示例名称">
  8. <demo-custom></demo-custom>
  9. </example-demo>
  10. <!-- 修改此处 - end -->
  11. </example>
  12. </template>
  13. <script>
  14. export default {
  15. config: {
  16. usingComponents: {
  17. 'example': '@minui/wxc-example',
  18. 'example-demo': '@minui/wxc-example-demo',
  19. 'example-md': '@minui/wxc-example-md',
  20. 'demo-default': './demos/demo-default',
  21. // 修改此处 - start
  22. 'demo-custom': './demos/demo-custom' // 注册一个新的组件(每个示例代码都是一个组件来输出)
  23. // 修改此处 - end
  24. }
  25. },
  26. data: { }
  27. }
  28. </script>
  29. <style>
  30. </style>
  • 修改保存后,切换到 微信开发者工具,进入到 toast 组件示例页面,看到新增了一个示例 toast组件示例页面
    • 此时,您是否已经了解 Min设计的组件库开发方式呢? 有任何疑问或问题请提交 issues 或加入到微信群 Min 使用交流群 讨论,请描述您的问题并提供具体的异常截图,以便min-team快速判断解决。

接下来请进一步了解在 Min组件库项目 里常用的功能