资讯专栏INFORMATION COLUMN

Meteor:路由(1)

levinit / 479人阅读

摘要:添加一个路由规则这段代码的意思是在主目录下,我们指定访问名字为的。大多数据的网站都需要支持风格的不仅仅能够对的内容做路由,还能增加风格的。添加一条规则用来告诉这个是服务器端的路由规则使用看下结果返回的结果为并没有返回和文件。

Meteor本身并没有好的路由使用规则,还好有比较好用的第三方Package使用。Iron.Router就是一个比较好的Meteor的路由框架,提供了Client 和 Server的路由设置,还可以用来开发restful风格的api。

安装Iron.Router

直接cd到项目目录使用安装命令:

meteor add iron:router

Changes to your project"s package version selections:

iron:controller        added, version 1.0.12
iron:core              added, version 1.0.11
iron:dynamic-template  added, version 1.0.12
iron:layout            added, version 1.0.12
iron:location          added, version 1.0.11
iron:middleware-stack  added, version 1.0.11
iron:router            added, version 1.0.12
iron:url               added, version 1.0.11


iron:router: Routing specifically designed for Meteor

可以看到安装的详细内容。
可以使用命令直接更新Iron.Router

meteor update iron:router

使用Iron.Router

我们知道使用meteor create meteor-project的命令创建的项目会默认生成三个文件.meteor-project.html,meteor-project.css,meteor-project.js安装Iron.Router之后,运行项目会发现,页面展示错误提示内容:

Organize your Meteor application.
Router.route("/", function () {
  this.render("Home", {
    data: function () { return Items.findOne({_id: this.params._id}); }
  });
});
        

我们默认生成的文件运行之后和Iron.Router规则有冲突,这个提醒的意思是我们还没有设置一个"/"的路由规则,我们需要设置路由规则,但是首先要先将meteor默认生成的文件删除。

使用Iron.Router 添加head.html

Iron.router需要设置一个head.html


    
    Iron-router

查看网页源代码可以看到head里面多了个title:

设置"/"页面

新建一个home.html页面

router.js

新建一个router.js文件。添加一个路由规则:

Router.route("/", function () {
    this.render("home");
});

这段代码的意思是在主目录("/")下,我们指定访问名字为home的template。
现在页面就可以正常的现在home.html的内容了。

简化写法

新建一个content.html。

增加一条路由规则:

Router.route("/content");

这个规则的会自动的指定名字叫做content的template或者页面,这样简单的写法,让你不用再实现后面function的内容,简化了代码,约定大于配置

REST

大多数据的网站都需要支持REST风格的API,Iron.Router不仅仅能够对Meteor的内容做路由,还能增加REST风格的Api。
添加一条router规则:

Router.route("/content/:_id", function () {
    var req = this.request;
    var res = this.response;
    res.end("this is string");
}, {where: "server"});

where:"server"用来告诉Rotuer这个是服务器端的路由规则.
使用curl看下结果:

curl "http://localhost:3000/content/1"

返回的结果为:

this is string

并没有返回html和js文件。

项目地址:https://github.com/jjz/meteor/tree/master/meteor-router

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/78632.html

相关文章

  • (翻译)Mantra官方文档

    摘要:我们通过对我们应用程序的每个部分进行单元测试来实现这一点,同时遵循一个标准。它帮助你单元测试,动作和集成容器。当在组件库中使用库函数时,它应该是纯函数。 Mantra 工作草案-版本0.2.0 简介 这是一个Mantra草案规范,一个由Kadira创建的Meteor的应用程序架构。 它帮助开发人员构建可维护的,面向未来的Meteor应用程序。 版权 The MIT License (M...

    denson 评论0 收藏0
  • javascript项目开发规范实例

    摘要:首次发表在个人博客总结一下个人在开发及同事代码的过程中遇到的因为一些项目规范带来的问题及认为比较好的解决方法由于个人经验和认知水平有限下面仅代表我的个人观念欢迎各位大佬多给我提建议以本人最近写的一个项目技术栈为为例的使用因为一个项目往 showImg(http://upload-images.jianshu.io/upload_images/3297464-ccdb78e5d7d158...

    sorra 评论0 收藏0
  • 2017年前端流行的数百个javascript库,你会几个?

    摘要:有数百个免费的库出来,为应用程序选择正确的框架变得非常困难。是流行的驱动技术之一,由于年创建。在这三个块中,有几个暴露低层接口的绑定。反应由,和许多开发人员和个人的社区维护。诞生于年,是一个轻量级的框架。 有数百个免费的JS库出来,为应用程序选择正确的JavaScript框架变得非常困难。一些开发商最终会抛弃,而其他开发者则迅速发展,并得到广泛采用。许多开发人员只知道像jQuery和R...

    CoXie 评论0 收藏0
  • Meteor——以NodeJS为基础环境,MongoDB为数据环境的全栈开发平台!

    摘要:当一个应用启动时,会自动加载这些库,为应用提供了一个基础环境。也就是说,模板文件只能包含以这三种标签为顶层标签的片段。在中,我们需要判断当前的具体运行环境,以便执行相应的代码。 一、全栈开发平台 - 不仅仅是前端 Meteor和那些名声如雷贯耳的前端框架,比如Angular, React等都不一样,它是一个 采用单一开发语言的全栈开发的平台:开发者可以使用JavaScript同时 进...

    chenatu 评论0 收藏0
  • Day 15:Meteor —— 从零开始创建一个 Web 应用

    摘要:在我的机子上,运行于端口,以避免和其他默认运行于端口的冲突。我们可以使用命令连接数据库查看定义应用层次创建的模板应用有一个问题,客户端和服务器段的代码是一样的。在中加入然后添加问题模板注意我们使用了来确保用户未登录的情况下应用。 编者注:我们发现了有趣的一系列文章《30天学习30种新技术》,正在翻译中,一天一篇更新,年终礼包。下面是第15天的内容。 到目前为止我们讨论了Bower...

    Big_fat_cat 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<