分享我的发现、想法与心得

0%

前一段时间忙完公司的项目开始闲下来,打算自己写个todolist什么的小应用,然后就跑去调研了一下nodejs环境下有那些比较好的框架写后端服务,本打算用express+sequelize写restful风格API的,可惜没找到更方便的工具快速制作,然后就遇到meteor。

##meteor

meteor比起express还是使用restful规范的服务端来得更先进,用起来更舒服。
简单使用,只需要在服务端定义发布数据,在客户订阅的数据并能获得,当然这是归功于基于DDP协议的socket服务。

总结一下特点:

  1. 服务端与客户端编码风格一致(全TM是javascript)
  2. 极具实时性(数据基于websocket,模板可以动态加载)
  3. 集成了开源工具和框架(webpack、vue随意使用)

##快速上手教程

教程坚持使用vue和webpack,所以这里有个问题,怎么才能跟meteor很好地结合一起呢?

答案:使用在meteor安装webpack支持!尤大的证言

先学基础,不喜欢的跳过也可以。
meteor基础教程传送门

###快速开始
请git clone以下

https://github.com/lpreterite/meteor-vue-webpack-example

运行只需

1
2
$ npm i
$ meteor

下文要讲的是,那些东西事必须的,比如在package.json这段:

1
2
3
4
# 设置的客户端与服务端入口文件

"main": "src/server.js",
"browser": "src/client.js",

webpack.config.js需要指定root和热更新设置devServer

1
2
3
4
5
6
"root": "./src",
"devServer":{
"host": "localhost",
"hot": true,
"inline": true,
},

定义你的数据对象

1
2
3
4
# collections.js

export const Tasks = new Mongo.Collection('tasks')
export const Tags = new Mongo.Collection('tags')

发布

1
2
3
4
5
6
7
8
# publications.js

import {Meteor} from 'meteor/meteor';
import {Tasks} from './collections';

Meteor.publish('tasks', function() {
return Tasks.find();
});

阅读全文 »