github地址:weex-ui

  1. https://github.com/alibaba/weex-ui

官网:

  1. https://alibaba.github.io/weex-ui/#/cn/

创建项目:

  1. weexpack create appName
  2.  
  3. cd appName
  4.  
  5. npm install
  6.  
  7. weexpack platform add android
  8.  
  9. weexpack run android
  10.  
  11. weexpack build android

安装 weex-ui

  1. npm i weex-ui -S

汇集使用 (推荐)

  1. import { WxcComponent1, WxcComponent2 } from "weex-ui"

为了不打包所有的组件,你需要使用 babel-plugin-component 来只引入需要的组件打包。

  1. npm i babel-plugin-component -D
  1. // 增加一个plugins的配置到 .babelrc 中
  2. {
  3. "plugins": [
  4. [
  5. "component",
  6. {
  7. "libraryName": "weex-ui",
  8. "libDir": "packages"
  9. }
  10. ]
  11. ]
  12. }

分开使用

  1. import WxcComponent1 from "weex-ui/packages/wxc-component1"
  2. import WxcComponent2 from "weex-ui/packages/wxc-component2"

Weex-toolkit

如果你使用weex-toolkit来开发你的Weex项目,你需要向 .babelrc 文件中加入 'state-0' 和 'babel-plugin-component'

  1. npm i babel-preset-stage-0 babel-plugin-component -D

.babelrc

  1. {
  2. "presets": ["es2015", "stage-0"],
  3. "plugins": [
  4. [
  5. "component",
  6. {
  7. "libraryName": "weex-ui",
  8. "libDir": "packages"
  9. }
  10. ]
  11. ]
  12. }

测试代码:

index.vue

  1. <template>
  2. <wxc-tab-bar
  3. :tab-titles="tabTitles"
  4. :tab-styles="tabStyles"
  5. title-type="icon"
  6. :tab-page-height="tabPageHeight"
  7. @wxcTabBarCurrentTabSelected="wxcTabBarCurrentTabSelected">
  8. <!-- 第一个页面内容-->
  9. <div class="item-container" :style="contentStyle"><text>首页</text></div>
  10.  
  11. <!-- 第二个页面内容-->
  12. <div class="item-container" :style="contentStyle"><text>特别推荐</text></div>
  13.  
  14. <!-- 第三个页面内容-->
  15. <div class="item-container" :style="contentStyle"><text>消息中心</text></div>
  16.  
  17. <!-- 第四个页面内容-->
  18. <div class="item-container" :style="contentStyle"><text>我的主页</text></div>
  19. </wxc-tab-bar>
  20. </template>
  21.  
  22. <script>
  23. import { WxcTabBar, Utils } from 'weex-ui';
  24.  
  25. // tab配置文件
  26. import Config from './config'
  27.  
  28. export default {
  29. components: { WxcTabBar },
  30. data: () => ({
  31. tabTitles: Config.tabTitles,
  32. tabStyles: Config.tabStyles
  33. }),
  34. created () {
  35. this.tabPageHeight = Utils.env.getPageHeight();
  36. const { tabPageHeight, tabStyles } = this;
  37. this.contentStyle = { height: (tabPageHeight - tabStyles.height) + 'px' };
  38. },
  39. methods: {
  40. wxcTabBarCurrentTabSelected (e) {
  41. const index = e.page;
  42. // console.log(index);
  43. }
  44. }
  45. };
  46. </script>
  47.  
  48. <style scoped>
  49. .item-container {
  50. width: 750px;
  51. background-color: #f2f3f4;
  52. align-items: center;
  53. justify-content: center;
  54. }
  55. </style>

config.js

  1. /**
  2. * 底部选项卡样式配置
  3. */
  4. export default {
  5. // 标题 + 图标
  6. tabTitles: [
  7. {
  8. title: '首页',
  9. icon: 'https://gw.alicdn.com/tfs/TB1MWXdSpXXXXcmXXXXXXXXXXXX-72-72.png',
  10. activeIcon: 'https://gw.alicdn.com/tfs/TB1kCk2SXXXXXXFXFXXXXXXXXXX-72-72.png',
  11. },
  12. {
  13. title: '特别推荐',
  14. icon: 'https://gw.alicdn.com/tfs/TB1ARoKSXXXXXc9XVXXXXXXXXXX-72-72.png',
  15. activeIcon: 'https://gw.alicdn.com/tfs/TB19Z72SXXXXXamXFXXXXXXXXXX-72-72.png'
  16. },
  17. {
  18. title: '消息中心',
  19. icon: 'https://gw.alicdn.com/tfs/TB1VKMISXXXXXbyaXXXXXXXXXXX-72-72.png',
  20. activeIcon: 'https://gw.alicdn.com/tfs/TB1aTgZSXXXXXazXFXXXXXXXXXX-72-72.png'
  21. },
  22. {
  23. title: '我的主页',
  24. icon: 'https://gw.alicdn.com/tfs/TB1Do3tSXXXXXXMaFXXXXXXXXXX-72-72.png',
  25. activeIcon: 'https://gw.alicdn.com/tfs/TB1LiNhSpXXXXaWXXXXXXXXXXXX-72-72.png'
  26. }
  27. ],
  28. // tab样式
  29. tabStyles: {
  30. bgColor: '#FFFFFF',
  31. titleColor: '#666666',
  32. activeTitleColor: '#3D3D3D',
  33. activeBgColor: '#FFFFFF',
  34. isActiveTitleBold: true,
  35. iconWidth: 70,
  36. iconHeight: 70,
  37. width: 160,
  38. height: 120,
  39. fontSize: 24,
  40. textPaddingLeft: 10,
  41. textPaddingRight: 10
  42. }
  43. }

运行:

  1. weexpack run android

  1. npm i
  2. npm run start

建议执行  npm run start

项目目录:

效果图:

注:

当前 weex 版本没有自动生成 .gitignore 文件,需要手动添加 否则上传时会将 node_modules  一起上传

.gitignore

  1. .DS_Store
  2. node_modules/
  3. dist/
  4. npm-debug.log
  5. yarn-error.log
  6.  
  7. # Editor directories and files
  8. .idea
  9. *.suo
  10. *.ntvs*
  11. *.njsproj
  12. *.sln

.

weex 项目开发(三) weexpack + weex-ui的更多相关文章

  1. C#-Xamarin的Android项目开发(三)——发布、部署、打包

    前言 部署,通常的情况下,它其实也是项目开发的一个难点. 为什么这么说呢?因为,它不是代码开发,所以很多开发者本能的拒绝学习它. 并且一个项目配置好一次以后,部署的步骤和部署的人通常很固定,所以大部分 ...

  2. weex 项目开发 weexpack 项目 打包、签名、发布

    一. weexpack build android  和  weexpack run android 的 区别. (1)单纯打包 weexpack build android (2)打包并运行 wee ...

  3. weex 项目开发(六)weexpack 项目 打包、签名、发布

    一. weexpack build android  和  weexpack run android 的 区别. (1)单纯打包 weexpack build android (2)打包并运行 wee ...

  4. weex 项目开发(二) weex 与 weexpack 的区别

    1.weex 与 weexpack 即  weex-toolkit 与 weexpack 的区别 weex-toolkit 初始化的项目是针对开发单个 Weex 页面而设计的,也就是说这样的项目只包括 ...

  5. weex 项目开发(一) weex create project 与 weex init project 的区别

    开发环境配置:http://www.cnblogs.com/crazycode2/p/7822961.html 1. weex create project  与  weex init project ...

  6. weex 项目开发(四)项目框架搭建 及 自定义 TabBar 组件

    1.安装  路由模块  及  状态管理模块 npm install vue-router --save npm install vuex --save 2.自定义  TabBar  组件 src / ...

  7. weex 项目开发(五)自定义 过滤函数 和 混合 及 自定义 Header 组件

    1.自定义  过滤函数 src / filters / index.js /** * 自定义 过滤函数 */ export function host (url) { if (!url) return ...

  8. Android项目开发三

    微博客户端开发 本周学习计划 运用OAuth相关知识,解决上周出现的微博验证问题. 看懂微博客户端登录.用户主页等功能代码. 将程序中存在的问题解决. 实际完成情况 本周继续研究了OAuth相关知识, ...

  9. JAVA项目从运维部署到项目开发(三.Redis)

    一.Redis的介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.它通常被称为数据结构服务器,因为值(va ...

随机推荐

  1. day18-python之迭代器和生成器

    1.文件处理模式b模式 #!/usr/bin/env python # -*- coding:utf-8 -*- # f=open('test.py','rb',encoding='utf-8') # ...

  2. Python字符串操作详解

    菜鸟学Python第五天 流程控制 for循环 while循环 VS for循环: while循环:称之为条件循环,循环的次数取决于条件何时为false for循环:称之为迭代器循环,循环的次数取决于 ...

  3. python基础学习笔记——方法返回值

    字符串中(需要有变量接收) 判断是不是阿拉伯数字,返回的是布尔值 1 2 3 4 name = 'alexdasx' new_name = name.isdigit() print(new_name) ...

  4. WEB框架——WEB框架本质

    武sir http://www.cnblogs.com/wupeiqi/articles/5237672.html

  5. Ubuntu14.04使用root登陆帐户

    http://jingyan.baidu.com/article/27fa73268144f346f8271f83.html 1.输入sudo gedit /usr/share/lightdm/lig ...

  6. mysql数据库修改字段类型

    修改字段类型: alter table 表名 modify column 字段名字 decimal(18, 4) ;

  7. 【JavaScript 10—应用总结】:连缀

    一.总体概述 1.1,什么叫连缀 所谓连缀,最简单的理解就是一句话同时设置一个或多个节点两个或两个以上的操作.比如: <span style="font-size:18px;" ...

  8. BZOJ 2194 快速傅立叶之二 ——FFT

    [题目分析] 咦,这不是卷积裸题. 敲敲敲,结果样例也没过. 看看看,卧槽i和k怎么反了. 艹艹艹,把B数组取个反. 靠靠靠,怎么全是零. 算算算,最终的取值范围算错了. 交交交,总算是A掉了. [代 ...

  9. bzoj3874&2832 [Ahoi2014]宅男计划 模拟退火,三分

    [Ahoi2014&Jsoi2014]宅男计划 Time Limit: 1 Sec  Memory Limit: 256 MBSubmit: 962  Solved: 371[Submit][ ...

  10. 转:sudo 的常见用法和参数选项

    原文链接:http://wiki.ubuntu.org.cn/Sudo sudo,以其他用户身份执行一个命令. 用法 sudo -h | -K | -V sudo -v [-Akns] [-g gro ...