meteor学习-- #二 安装meteor与快速使用
2015-12-22 15:55
232 查看
下载安装
创建项目
创建一个APP
路径
client 文件夹
server 文件夹
其他
数据库访问
在服务器端
在客户端
模板和路由
发布和订阅
meteor会自动下载mongodb和其他需要依赖的库,不需要手动安装.
如果是Windows 的用户,请使用 meteor 官方安装包,安装时,如果杀毒软件出现警告,请信任,防止出现无法使用meteor的情况,windows版本检查是否正确安装的方法是在命令提示行内,可以执行 meteor –version,出现您的meteor 版本号即可,这里不推荐使用Windows开发Meteor,因为无法正常打包出APP
可查看meteor自带的例子,如下:
创建例子中的项目
即可,例如
输出如下
运行 :
服务默认运行在 localhost:3000上,
也可以直接使用命令 meteor run ios 让例子直接运行在模拟器上
运行效果如下
运行
即可打开mongodb数据监控
mongodb会运行在服务端口+1的端口上, 例如 服务在3000端口上运行,则mongodb运行在3001端口
例如
然后打开网页控制台 运行
即可访问数据.
* iron 有性能瓶颈 flow:router 更好用 *
添加iron:router路由库,即可定义路由.
例如
创建项目
创建一个APP
路径
client 文件夹
server 文件夹
其他
数据库访问
在服务器端
在客户端
模板和路由
发布和订阅
下载安装
curl https://install.meteor.com/ | sh
meteor会自动下载mongodb和其他需要依赖的库,不需要手动安装.
如果是Windows 的用户,请使用 meteor 官方安装包,安装时,如果杀毒软件出现警告,请信任,防止出现无法使用meteor的情况,windows版本检查是否正确安装的方法是在命令提示行内,可以执行 meteor –version,出现您的meteor 版本号即可,这里不推荐使用Windows开发Meteor,因为无法正常打包出APP
创建项目
meteor create MyApp
创建一个APP
meteor create --list
可查看meteor自带的例子,如下:
创建例子中的项目
meteor create --example examplename
即可,例如
meteor ceate --example todos
输出如下
todos: created. To run your new app: cd todos meteor
运行 :
cd todos meteor
服务默认运行在 localhost:3000上,
也可以直接使用命令 meteor run ios 让例子直接运行在模拟器上
运行效果如下
路径
meteor前后端都是用js写的,所以有些文件是前后端公用的client 文件夹
只有前端能用server 文件夹
文件只有后端能访问其他
其他文件夹下的文件前后端都可以访问到数据库访问
在服务器端
启动服务后 打开另一个窗口进入服务目录下运行
meteor mongo
即可打开mongodb数据监控
mongodb会运行在服务端口+1的端口上, 例如 服务在3000端口上运行,则mongodb运行在3001端口
在客户端
首先要在js文件中定义好集合变量并且订阅好
例如
user = new Mnong,collection('user');
然后打开网页控制台 运行
user.find()
即可访问数据.
模板和路由
meteor 用的是handlebars模板* iron 有性能瓶颈 flow:router 更好用 *
添加iron:router路由库,即可定义路由.
例如
Router.config( // 默认会渲染的模板 layoutTemplate: 'appBody', // 指定模板找不到时渲染的模板 notFoundTemplate: 'appNotFound', // 加载状态时的模板 loadingTemplate: 'appLoading', // 等待时的操作 waitOn: function(){ return [Meteor.subscribe('publicLists'), Meteor.subscribe('privateLists')]; } ). //route.js定义好路由: Router.route('detail',{path:'/u/:_id', name:'detail'}); Router.route('detail'); //如果不指定路径或者action,则默认找到如参数同名的模板,例如此路由会默认找到detail模板,如果不存在就会渲染在路由配置中指定的notfond页面. {{#each users}} //{{pathFor route='detail'}} //此时a标签会取name值为detail的路由,href就是/u/_id的形式, //路由path的parmes的key就是对象的同名key,对象不含有这个key的话,a标签就没有href属性 //同理,{{name}}如果不指定的话也会取对象中的name属性,不存在的话则没有值 {{name}} {{/each}}
发布和订阅:
在server.js中添加如下代码:
//(meteor的所有变量都是全局的[代码块中的除外],所以不加var); u = new Mongo.Collection("posts"); //发布somePub频道,当有人订阅时返回posts数据库的数据 Meteor.publish('somePub', function() { return u.find()} });
client.js中:
//即可实现前后端数据相同,否则前端js文件拿不到后端的数据. Meteor.subscribe('somePub');
相关文章推荐
- 开发android盒子,如何获取Android IP地址
- Java socket通讯(一)
- xmpp+openfire+spark+centos 安装
- 关于获取<input type='file'>获取文件的路径问题
- AutoLayout神话:Table View的性能和iPad分屏多任务功能
- 第四章 Controller接口控制器详解(7)
- 零基础入门学习Python(17):对象(2)
- AD管理命令
- android中点击空白处隐藏软键盘
- 取子树算法
- Python os模块常用部分功能总结
- bash编程之变量、变量类型
- 最小重量机器设计
- Asp.net 生成 导出 Excel 下载
- FastDFS集群整体迁移的问题
- 大规模的I/O流中有效识别大数据并增强时间局部性
- 仿ios日期选择器
- swift字符串相关用法速查表
- node js 连接mysql数据库
- IP地址及子网