Meteor: Iron.Router应用实践

Iron.Router是Meteor事实标准的路由包。在学习了其提供的五花八门的功能之后,应该如何应用实践呢?

首先简要地理解一下基本组件。

Route

route是指一个路由规则,其组成包括:name、path、controller、<action>

name是该route在程序内其他地方被引用的依据,path是该route的匹配模式,当path匹配成功时,将调用该route指定的controller.<action>,如果没有指定<action>,则调用controller.action(也即默认action)

Controller

controller是路由体系中的身体力行者,它负责订阅数据,控制加载,配置layout、loading、not found等模板,提供方法来组合数据与模板以进行渲染。总的来说,一个controller主要负责维护一组相关的数据与模板,并且提供接口以进行正确的渲染。

Router

配置router,实际上相当于配置一个默认的controller,具体controller未指定的行为都从这里继承,比如设置公共的layout、loading、not found模板等工作。另外,plugin只能在router上配置。

Template

渲染工作的实际执行者,主要由template和配套的helpers与events组成,加工接受的订阅和数据(注意,subscription和data是两个东西)来进行渲染工作。

综上,要如何在实践中应用它们呢?

首先,规划好应用的UI组成,抽象出layout和可变页面部分。

然后,编写各页面、各部分的template,注意不要主动去订阅和设置自己的数据源,约定好需求订阅和数据的接口,等待controller来订阅和设置数据。

然后,编写controller,订阅、加载数据并提供action以渲染template。由于目前仅在前端工作,所以发布和其他数据可以先硬编码伪造。

然后,编写route,设置path并连接到具体的controller和action。

然后,配置router(全局配置)

然后,测试并调整

最后,加入后端数据再测试并调整

时间: 2024-10-15 06:31:03

Meteor: Iron.Router应用实践的相关文章

Meteor常用技能

调试: 服务器端 console.log() 会输出到终端命令行 客户端的 console.log() 会输出到浏览器控制台 Mongo Shell: 启动方式:meteor mongo 清空数据:meteor reset ps: 注意如果把应用部署在 *.meteor.com 上,你一样可以通过 meteor mongo myApp 的方式进入你应用的 Mongo shell 进行操作. 而且还可以输入 meteor logs myApp 得到你应用的 log 日志. 路由: meteor a

关于react router 4 的小实践

详细代码栗子:https://github.com/wayaha/react-dom-CY clone然后 npm install npm start 分割线 1.这个项目使用create-react-app搭建: 首先需要安装好create-react-app npm install -g create-react-app 安装完毕之后就是搭建项目: create-react-app your-project-name cd your-project-name npm start 安装完成之后

Windows平台分布式架构实践 - 负载均衡

概述 最近.NET的世界开始闹腾了,微软官方终于加入到了对.NET跨平台的支持,并且在不久的将来,我们在VS里面写的代码可能就可以通过 Mono直接在Linux和Mac上运行.那么大家(开发者和企业)为什么那么的迫切的希望.NET跨平台呢?第一个理由是便宜,淘宝号称4万多台服务器 全部运行在Linux,Linux平台下还有免费的MySql,这些都是免费的,这些省下来直接就是利润呀,做企业的成本可以降低又没有任何损失,何乐而 不为呢?第二个理由是在Linux系统下还有很多非常优秀的构架(当然同样也

构建高并发高可用的电商平台架构实践

从各个角度总结了电商平台中的架构实践,由于时间仓促,定了个初稿,待补充完善,欢迎大家一起交流. 转载请声明出处:http://blog.csdn.net/yangbutao/article/details/12242441 作者:杨步涛 关注分布式架构.大数据.搜索.开源技术 QQ:306591368 技术Blog:http://blog.csdn.net/yangbutao 一. 设计理念 1.      空间换时间 1)      多级缓存,静态化 客户端页面缓存(http header中包

构建高并发高可用的电商平台架构实践(上)

构建高并发高可用的电商平台架构实践(上) 一. 设计理念 1.      空间换时间 1)      多级缓存,静态化 客户端页面缓存(http header中包含Expires/Cache of Control,last modified(304,server不返回body,客户端可以继续用cache,减少流量),ETag) 反向代理缓存 应用端的缓存(memcache) 内存数据库 Buffer.cache机制(数据库,中间件等) 2)      索引 哈希.B树.倒排.bitmap 哈希索

有赞分层自动化测试实践

1. 背景 先理一下自动化测试的概念,从广义上来说,一切通过工具(程序)的方式来代替或者辅助手工测试的行为都可以成为自动化.从狭义上来说,通过编写脚本的方式,模拟手工测试的过程,从而替代人工对系统的功能进行验证. 有赞是一家互联网行业的创业公司,测试起步较晚,发布非常频繁,就算每次只回归核心功能,对人数极少的几个测试人员来说工作量巨大,且基本是重复劳动,极其枯燥,持续时间长了也容易出错. 所以初期我们测试自动化切入的思路非常简单:从实际用户的角度出发,模拟真实的操作,替代现有的手工测试用例的执行

常用跨域方法实践(一)

这几天看了鬼道师兄的<跨终端Web>这本书,该书从解决实际业务出发,讲述了跨终端的优势与未来,受益良多.其中,书中第九章介绍了作者在阿里内部的一个参赛作品Storage,该作品巧妙的使用了跨域知识,让我见识到跨域其实不仅仅是JSONP.以前,对前端跨域这块或多或少有点了解,但真正动手实践的不是很多.于是,这段时间我好好整理了常用跨域方法的具体实现.本文,主要介绍了JSONP和CORS的实现方式. 相关概念: 只要协议.域名.端口有任何一个不同,都被当作是不同的域 JavaScript出于安全方

Nodejs RESTFul架构实践之api篇(转)

why token based auth? 此段摘自 http://zhuanlan.zhihu.com/FrontendMagazine/19920223 英文原文 http://code.tutsplus.com/tutorials/token-based-authentication-with-angularjs-nodejs–cms-22543 在讨论了关于基于 token 认证的一些基础知识后,我们接下来看一个实例.看一下下面的几点,然后我们会仔细的分析它: 多个终端,比如一个 web

图解ARP协议(四)代理ARP原理与实践(“善意的欺骗”)

一.代理ARP概述 我:当电脑要访问互联网上的服务器,目标MAC是什么? 很多小伙伴在刚学习网络协议的时候,经常这样直接回应:不就是服务器的MAC嘛! 这时我会反问:那电脑怎么拿到这个服务器的MAC地址呢? 小伙伴一般都自信的抛出下面两个点: ①根据网络通信中数据封装的原则,通信双方需要封装源目IP和MAC地址: ②如果要拿到目标MAC地址,就需要通过ARP协议进行交互. 我:好,确实没毛病,你是指的下面这个意思吧 ==> 小伙伴:对对对,是这个意思的. 我:好,你再看看下面这个图,再确认下.