1 Star 0 Fork 39

标点符号 / route.js

forked from Rezero / route.js 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

引入文件说明

项目中不使用ramda 引入一个文件

  <script type="text/javascript" src="../dist/route.all.min.js"></script>

使用ramda 引入三个文件

<script src="../lib/ramda.min.js"></script>
<script src="../lib/jueji.js"></script>
<script src="../js/route.js"></script>

浏览器路由匹配

内含函数流,中断,异步功能

var s = J.stream;
var ds = J.dostream;
var dofn = route.route([
	//解析URL参数并放到ctx.query中
	//nextp 代表执行下面的规则
	s(route.queryStringG,J.ctx("query"),route.nextp)
	//匹配/hello 匹配失败继续向下执行
	,s(route.nameP("/hello"),domlog)
	,s(route.nameP("/"),domlog)
	,s(route.paramP("/:a/:b"),domlog)
	,s(route.nameP("/hello"),domlog)
	,s(route.startP("/yibu"),R.tap(loadState),yibutest,domlog)
	,s(diyP,domlog)
	,domlog404
]);
dofn("/hello");

自动监控浏览器#(hash)发生变化

//监控hash变化 获取URL执行dofn
ds(null,route.hashMilldam,dofn);

自动监控H5路由

//利用H5 api改变URL 放入浏览器历史记录
//需要引入文件 /js/h5routeMilldam.js
ds(null,h5r.h5routeMilldam,dofn);

详见demo 在线demo

J.stream 函数流 介绍

var fn=J.stream(fn1,fn2,fn3);
fn(arg);

约等同于

var ctx={};
var fn1r=fn1(arg,ctx);
var fn2r=fn2(fn1r,ctx);
var fn3r=fn3(fn2r,ctx);
return fn3r;

中断处理 比如fn1遇到业务错误不需要执行后面的函数 fn1返回 J.left(数据) 即可

异步处理 fn2需要请求接口获得数据之后交给fn3处理 fn2返回J.milldam即可 详见在线demo

qq群讨论

426566496

空文件

简介

路由注册/解析器,它在不刷新页面的情况下,不同的URL路径,并根据不同的URL路径来匹配函数流 展开 收起
JavaScript
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
JavaScript
1
https://gitee.com/duoai/route.js.git
git@gitee.com:duoai/route.js.git
duoai
route.js
route.js
master

搜索帮助