WEEX环境搭建与入门详解


Posted in Javascript onOctober 16, 2019

Weex简介

Weex 是阿里前端技术团队开源额一套跨平台开发方案,能以web的开发体验构建高性能、可扩展的 native 应用,Weex 的页面表示层使用 Vue ,并遵循 W3C 标准实现了统一的 JSEngine 和 DOM API,Weex和React Native一样是当前流行的跨平台开发框架。Weex的官方地址为:https://weex.apache.org/。Weex最简单的方法是使用 Playground App 和在 dotWe 编写一个 Hello World 的例子,你甚至不需要安装任何的开发环境或编写native代码即可开始一个Weex程序。

环境搭建

开发Weex程序之前,需要先搭建好相关的开发环境,为了同时开发Android和iOS跨平台应用,你需要一台Mac电脑,然后安装一些必要的软件。

Homebrew

Homebrew是Mac系统的包管理器,用于安装NodeJS和一些其他必需的工具软件。安装命令如下:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

需要注意的是,在Max OS X 10.11以上版本中,homebrew在安装软件时可能会碰到/usr/loca目录不可写的权限问题,需要以管理员权限运行。

Node

Weex目前需要NodeJS 6.0或更高版本,Homebrew默认安装的是最新版本,一般都满足要求。

brew install node

安装完node后建议设置npm镜像以加速后面的项目构建过程。注意:不要使用cnpm!cnpm安装的模块路径比较奇怪,packager不能正常识别!相关的命令如下:

npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global

Xcode

要支持 iOS 平台则需要配置 iOS 开发环境,而iOS开发工具使用的是Xcode,除此之外,还需要安装cocoaPods工具。

Android Studio

Android Studio是Android应用程序的开发工具,需要注意的是运行Weex的Android build-tool的版本需要高于23.0.2。

weex-toolkit

weex-toolkit 是官方提供的一个脚手架命令行工具,可以使用它进行 Weex 项目的创建,调试以及打包等功能。安装weex-toolkit的命令如下:

npm install -g weex-toolkit

weexpack

weexpack 是新一代的weex应用工程和插件工程开发套件,是基于weex快速搭建应用原型的利器。可以创建weex应用工程和插件工程,快速打包 weex 应用并安装到手机运行,还可以创建weex插件模版并发布插件到weex应用市场, 使用weexpack 能够方便的在在weex工程和native工程中安装插件。安装weexpack的命令如下:

npm install -g weexpack

工程创建

使用如下的命令创建项目:

weexpack create appName

创建后,Weex的工程的目录结构如下:

.md 
├── android.config.json 
├── config.xml 
├── hooks 
│  └── README.md 
├── ios.config.json 
├── package.json 
├── platforms // 平台模版目录 
├── plugins // 插件下载目录 
│  └── README.md 
├── src // 业务代码(we文件)目录
│  └── index.we 
├── start 
├── start.bat 
├── tools 
│  └── webpack.config.plugin.js 
├── web 
│  ├── index.html 
│  ├── index.js 
│  └── js 
│  └── init.js 
└── webpack.config.js

需要注意的是,使用上面命令创建的项目是不包含 ios 和 android 工程模版,所以,需要使用如下的命令创建安装依赖,然后再安装Android和iOS的工程模板。

npm install

安装 weex 应用模版

安装 weex 应用模版的模板命令如下,模版会被安装到platforms目录下。iOS平台的安装命令如下:

weexpack platform add ios

Android平台的安装命令如下:

weexpack platform add android

安装完成之后,会在platforms目录下看到如下的目录结构:

├── platforms 
│  ├── ios
│  └── android

编写Hello Word程序

打开/src/index.vue的文件,并将默认内容替换为如下的代码:

<template>
 <div class="wrapper" @click="update">
  <image :src="logoUrl" class="logo"></image>
  <text class="title">Hello {{target}}</text>
  <text class="desc">Now, let's use vue to build your weex app.</text>
 </div>
</template>

<style>
 .wrapper { align-items: center; margin-top: 120px; }
 .title { padding-top:40px; padding-bottom: 40px; font-size: 48px; }
 .logo { width: 360px; height: 156px; }
 .desc { padding-top: 20px; color:#888; font-size: 24px;}
</style>

<script>
 export default {
  data: {
   logoUrl: 'http://img1.vued.vanthink.cn/vued08aa73a9ab65dcbd360ec54659ada97c.png',
   target: 'World'
  },
  methods: {
   update: function (e) {
    this.target = 'Weex'
    console.log('target:', this.target)
   }
  }
 }
</script>

关于Weex更多的语法规则,可以参考开发手册。

运行

对于Web平台,执行如下的命令:

npm run build 
npm run dev & npm run serve

WEEX环境搭建与入门详解 

或者使用如下命令执行单页调试:

weex src/index.vue

真机和虚拟机运行

使用Xcode打开WEEX项目的ios目录,如下图所示:

WEEX环境搭建与入门详解 

WEEX环境搭建与入门详解 

打开后简单的简单点配置下基本配置,如项目名、识别符、版本、开发者等信息。

WEEX环境搭建与入门详解

你可以选择虚拟机或者真机执行iOS项目,不过执行前你要保证代码是最新打包的,打包的命令如下:

weex build ios

然后选择真机或者模拟器运行即可。

WEEX环境搭建与入门详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
Aug 28 Javascript
JavaScript 页面坐标相关知识整理
Jan 09 Javascript
javascript instanceof 内部机制探析
Oct 15 Javascript
如何让div span等元素能响应键盘事件操作指南
Nov 13 Javascript
JS匀速运动演示示例代码
Nov 26 Javascript
使用js复制链接中的部分文字的方法
Jul 30 Javascript
js实现的彩色方块飞舞奇幻效果
Jan 27 Javascript
特殊日期提示功能的实现方法
Jun 16 Javascript
vue.js初学入门教程(1)
Nov 03 Javascript
jQuery实现花式轮播之圣诞节礼物传送效果
Dec 25 Javascript
小程序开发基础之view视图容器
Aug 21 Javascript
送你43道JS面试题(收藏)
Jun 17 Javascript
Weex开发之WEEX-EROS开发踩坑(小结)
Oct 16 #Javascript
适合前端Vue开发童鞋的跨平台Weex的使用详解
Oct 16 #Javascript
微信公众号开发之微信支付代码记录的实现
Oct 16 #Javascript
关于JS模块化的知识点分享
Oct 16 #Javascript
vue-cli+iview项目打包上线之后图标不显示问题及解决方法
Oct 16 #Javascript
使用JavaScrip模拟实现仿京东搜索框功能
Oct 16 #Javascript
微信小程序如何实现在线客服功能
Oct 16 #Javascript
You might like
先进的自动咖啡技术,真的可以取代咖啡师吗?
2021/03/06 冲泡冲煮
我常用的几个类
2006/10/09 PHP
php读取30天之内的根据算法排序的代码
2008/04/06 PHP
php smarty模版引擎中的缓存应用
2009/12/11 PHP
PHP连接MySQL查询结果中文显示乱码解决方法
2013/10/25 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
2015/04/09 PHP
thinkPHP2.1自定义标签库的导入方法详解
2016/07/20 PHP
PHP中new static()与new self()的比较
2016/08/19 PHP
PHP封装的非对称加密RSA算法示例
2018/05/28 PHP
Javascript在IE和FireFox中的不同表现简析
2012/12/03 Javascript
javascript中为某个元素指定事件的三种方式
2014/08/07 Javascript
JavaScript函数详解
2014/11/17 Javascript
jQuery实现拖动调整表格单元格大小的代码实例
2015/01/13 Javascript
jquery.validate 自定义验证方法及validate相关参数
2016/01/18 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
2016/06/07 Javascript
第一次接触神奇的Bootstrap网格系统
2016/07/27 Javascript
JS匿名函数类生成方式实例分析
2016/11/26 Javascript
微信小程序 图片宽度自适应的实现
2017/04/06 Javascript
详解React-Router中Url参数改变页面不刷新的解决办法
2018/05/08 Javascript
jQuery表单选择器用法详解
2019/08/22 jQuery
浅谈bootstrap layer.open中end的使用方法
2019/09/12 Javascript
JS实现简单的表格增删
2020/01/16 Javascript
基于js实现数组相邻元素上移下移
2020/05/19 Javascript
Vue通过provide inject实现组件通信
2020/09/03 Javascript
[51:39]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第二场 2月7日
2021/03/11 DOTA
python实现批量监控网站
2016/09/09 Python
对Python模块导入时全局变量__all__的作用详解
2019/01/11 Python
Python获取一个用户名的组ID过程解析
2019/09/03 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
python爬虫中抓取指数的实例讲解
2020/12/01 Python
美国首屈一指的礼品篮供应商:GiftTree
2018/01/06 全球购物
医药工作岗位求职信分享
2013/12/31 职场文书
幼儿园中班区域活动总结
2014/07/09 职场文书
电力工程合作意向书
2015/05/11 职场文书
python 实现mysql自动增删分区的方法
2021/04/01 Python