最近在学习阿里的weex框架,网上教程真是不少,但是有用的确实是少的很。其中大多数都是讲如何配置移动端的,很少有讲到weex语法的。要知道,如果真需要用weex编写js页面的话,很有可能是移动端开发者自己去编写(iOS&&Android)。只知道配置环境,不知道如何编写js页面基本上和没学没什么两样的。

所以下面整理一些学习weex时看到的好的学习资料,其中我重点记录一下js页面跳转路径的问题。ps:这个问题好像还和css相对路径有点区别。


1.相关学习的文档

1.1官方文档中文版网址:http://www.shouce.ren/api/view/a/11623

开发可以使用we或者vue进行,建议使用vue,推荐文档(we和vue的语法区别):http://weex-project.io/cn/references/migration/difference.html

其中可能不是特别全,但是还是比较系统的,建议从头到尾研究一遍,同时配合官方的Demo敲一遍(不敲代码就不会知道其中的坑有多深)。

1.2下面是官方Demo的网址:https://github.com/alibaba/weex/tree/dev

项目中没有pod第三方框架,打开项目,cd到iOS(Android)的根目录,执行:pod install。

打开项目配置相应的库文件就可以运行了。

1.3工具建议用webstorm,网上有很多配置的文章,很简单配置。(不建议用Sublime,太轻量级了)

2.weex中的路径问题。

2.1绝对路径:http://192.168.1.1:8080/......

这种方法简单直观,不过当服务器地址更换的时候如果所有的js页面都是绝对地址,需要一个个更换,你去找吧,这可是很大的工作量哦。

2.2我讲述一下个人认为比较简单方便的一种方法,这是官方Demo中的一种方法:


  var bundleUrl = this.$getConfig().bundleUrl;
bundleUrl = new String(bundleUrl);
console.log('baseurl-01',bundleUrl);
这几句代码获取当前的js的地址,可以是从服务器动态获取的js(http...类型),也可以是本地js文件(js文件放在app路径下)。         
 var isAndroidAssets = bundleUrl.indexOf('file://assets/') >= ;

 var isiOSAssets = bundleUrl.indexOf('file:///') >=  && bundleUrl.indexOf('WeexDemo.app') > ;
iOS端的js文件地址类型为file:///...........项目名称.app/........
安卓端的js文件地址类型为file://assets/.........

注意:<js/weex/helloweex.js>

1.比如说js文件夹下面全都是js文件类型(其中有子文件夹包含js文件),我们把js放到项目中时,这时在app内部js文件夹和子文件夹全都没有了,也就是说js文件夹内所有的js文件同级放在了项目.app路径下。(iOS端是这样,安卓的文件类型我不清楚。)

2.由于1的原因,ios端在调用本地js文件时,拼接路径不需要加js或者子文件夹的名称。

3.服务器类型的js文件地址拼接的时候有子文件夹需要添加的。


下面是we文件拼接地址的Demo,适应于本地js文件,服务器端文件,具体含义,上面分析的差不多了,自己去写个小Demo测试
几遍就熟悉了。(服务器端,本地文件都测试一下)
            var bundleUrl = this.$getConfig().bundleUrl;
bundleUrl = new String(bundleUrl);
console.log('baseurl-01',bundleUrl); var nativeBase;
var isAndroidAssets = bundleUrl.indexOf('file://assets/') >= ; var isiOSAssets = bundleUrl.indexOf('file:///') >= && bundleUrl.indexOf('WeexDemo.app') > ;
if (isAndroidAssets) {
nativeBase = 'file://assets/';
console.log('baseurl---android ---',nativeBase);
}
else if (isiOSAssets) {
// file:///var/mobile/Containers/Bundle/Application/{id}/WeexDemo.app/
// file:///Users/{user}/Library/Developer/CoreSimulator/Devices/{id}/data/Containers/Bundle/Application/{id}/WeexDemo.app/
nativeBase = bundleUrl.substring(, bundleUrl.lastIndexOf('/') + );
console.log('baseurl---ios ---',nativeBase);
}
else {
var host = 'localhost:8080';
var matches = /\/\/([^\/]+?)\//.exec(this.$getConfig().bundleUrl);
if (matches && matches.length >= ) {
host = matches[];
}
nativeBase = 'http://' + host + '/' + this.dir + '/navigator/';
console.log('baseurl--host---',nativeBase);
}
var h5Base = bundleUrl;
// in Native
var base = nativeBase;
if (typeof window == 'object') {
// in Browser or WebView
//base = h5Base;
}
this.url = base+'navigator.js'; console.log('baseurl-lastbase----',this.url);

3.控制台输出的问题

比如we文件下这一句代码,我本来做iOS的,始终没搞明白怎么看的打印的信息。最后神来之笔一下想到了一个方法,
然后百度iOS端口又找到另一个方法。 console.log('baseurl-lastbase----',this.url); 方法1:执行终端命令:weex helloweex.we 这时页面会出现在浏览器中,打开web控制台,你就可以看到log信息了。
方法2:iOS端设置[WXLog setLogLevel:WXLogLevelError];其中WXLogLevelError不同类型可以打印不同的log信息哦。

4.we/vue 转换成 js文件的终端命令

weex compile we js            //会将we文件夹下的所有we文件转换到js文件夹下

weex compile dir/xxx.we  js   //会将dir文件夹下的xxx.we文件转换为js文件存到js文件夹下

weex compile dir/xxx.vue  js   //会将dir文件夹下的xxx.vue文件转换为js文件存到js文件夹下

Weex 学习文档、跳转路径、控制台输出、we转js汇总的更多相关文章

  1. 2013 最新的 play web framework 版本 1.2.3 框架学习文档整理

    Play framework框架学习文档 Play framework框架学习文档 1 一.什么是Playframework 3 二.playframework框架的优点 4 三.Play Frame ...

  2. soapUI学习文档(转载)

    soapUI 学习文档不是前言的前言记得一个搞开发的同事突然跑来叫能不能做个WebService 性能测试,当时我就凌乱了,不淡定啊,因为我是做测试的,以前连WebService 是什么不知道,毕竟咱 ...

  3. NodeJS-001-Nodejs学习文档整理(转-出自http://www.cnblogs.com/xucheng)

    Nodejs学习文档整理 http://www.cnblogs.com/xucheng/p/3988835.html 1.nodejs是什么: nodejs是一个是javascript能在后台运行的平 ...

  4. Ext JS 6学习文档-第8章-主题和响应式设计

    Ext JS 6学习文档-第8章-主题和响应式设计 主题和响应式设计 本章重点在 ExtJS 应用的主题和响应式设计.主要有以下几点内容: SASS 介绍和入门 主题 响应式设计 SASS 介绍和入门 ...

  5. Vue 学习文档

    Vue 学习文档 vue 起步 引包 启动 new Vue(options) options: el 目的地(可以用类名.标签名等,也可以直接用mod元素) #elementId .elementCl ...

  6. Openstack api 学习文档 & restclient使用文档

    Openstack api 学习文档 & restclient使用文档 转载请注明http://www.cnblogs.com/juandx/p/4943409.html 这篇文档总结一下我初 ...

  7. Openstack python api 学习文档 api创建虚拟机

    Openstack python api 学习文档 转载请注明http://www.cnblogs.com/juandx/p/4953191.html 因为需要学习使用api接口调用openstack ...

  8. .Net 官方学习文档

    .Net 官方学习文档:https://docs.microsoft.com/zh-cn/dotnet/articles/welcome

  9. Ext JS 6学习文档-第7章-图表

    Ext JS 6学习文档-第7章-图表 使用图表 本章中将探索在 ExtJS 中使用不同类型的图表并使用一个名为费用分析的示例项目结束本章所学.以下是将要所学的内容: 图表类型 条形图 和 柱形图 图 ...

随机推荐

  1. 开发 C# OPC 客户端

    编写 opc 客户端的思路 1. 使用OPC Client浏览服务器, 查看测试代码修改后的结果. 2. 根据OPC Client搜集到的服务器信息编写代码和服务器交互 3. OPC Client 操 ...

  2. PS插件CameraRaw-初次尝试

    一.百度百科原话 RAW的原意就是“未经加工”.可以理解为:RAW图像就是CMOS或者CCD图像感应器将捕捉到的光源信号转化为数字信号的原始数据.RAW文件是一种记录了数码相机传感器的原始信息,同时记 ...

  3. git 下载指定tag版本的源码

    git clone --branch x.x.x https://xxx.xxx.com/xxx/xxx.git

  4. Tree with Small Distances(cf1029E)(树形动规)

    You are given an undirected tree consisting of \(n\) vertices. An undirected tree is a connected und ...

  5. mysql多列索引和最左前缀

    数据库的索引可以加快查询速度,原因是索引使用特定的数据结构(B-Tree)对特定的列额外组织存放,加快存储引擎(索引是存储引擎实现)查找记录的速度.索引优化是数据库优化的最重要手段. 如果查询语句使用 ...

  6. 网易免费企业邮箱Foxmail设置方法

    网易免费企业邮箱Foxmail7.0设置方法 第一步:启动 Foxmail 邮件客户端,点击工具->账号管理,弹出如下页面. 点击新建,如下: 填写自己企业邮箱账号,然后下一步,邮箱类型选择PO ...

  7. Spring Boot使用@Async实现异步调用:自定义线程池

    前面的章节中,我们介绍了使用@Async注解来实现异步调用,但是,对于这些异步执行的控制是我们保障自身应用健康的基本技能.本文我们就来学习一下,如果通过自定义线程池的方式来控制异步调用的并发. 定义线 ...

  8. 一步步Cobol 400 上手自学入门教程03 - 数据部

    数据部的作用 程序中涉及到的全部数据(输入.输出.中间)都要在此定义,对它们的属性进行说明.主要描述以下属性: 数据类型(数值/字符)和存储形式(长度) 数据项之间的关系(层次和层号) 文件与记录的关 ...

  9. oracle数据库迁移相关

    常见的实现方式: rman exp/imp  expdp/impdp DG OGG 主要是看停机时间了,方法很多,数据量小,就导出,如果时间要求很高,那可以采取dg或ogg或类似的技术.减低downt ...

  10. Hadoop和Apache Spark的异同

    谈到大数据,相信大家对Hadoop和Apache Spark这两个名字并不陌生.但我们往往对它们的理解只是提留在字面上,并没有对它们进行深入的思考,下面不妨跟我一块看下它们究竟有什么异同. 1.解决问 ...