在浏览器中独立连接到 Meteor DDP?
Connecting to Meteor DDP standalone in browser?
是否可以在浏览器中通过 DDP 从 Meteor 订阅数据stand-alone?
我发现 Meteor DDP package 指出可以做到这一点。
如何在浏览器中使用它 stand-alone 接收例如collection 更新?
或者您知道浏览器的其他工作 DDP 客户端吗?
例如有 https://github.com/mondora/ddp.js/,一个工作同构(浏览器 & Node.js)DDP 客户端库(我不是这个库的作者,有一些其他具有类似功能的).
您可以轻松连接到任何 DDP 服务器并监听事件。自述文件中有示例和 API 文档。也看看测试。
用法示例:
服务器代码:
Meteor.publish("myPublication", (param_0, param_1, param_2) {
/* ... */
});
客户代码:
const subscriptionId = ddp.sub("myPublication", [param_0, param_1, param_2]);
我推荐 Asteroid,一个用于 Meteor 的 DDP 的客户端包:https://github.com/mondora/asteroid
用法示例:
import {createClass} from "asteroid";
const Asteroid = createClass();
// Connect to a Meteor backend
const asteroid = new Asteroid({
endpoint: "ws://localhost:3000/ websocket"
});
// Use real-time collections
asteroid.subscribe("tasksPublication");
asteroid.ddp.on("added", ({collection, id, fields}) => {
console.log(`Element added to collection ${collection}`);
console.log(id);
console.log(fields);
});
// Login
asteroid.loginWithPassword({username, email, password});
// Call method and use promises
asteroid.call("newUser")
.then(result => {
console.log("Success");
console.log(result);
})
.catch(error => {
console.log("Error");
console.error(error);
});
是否可以在浏览器中通过 DDP 从 Meteor 订阅数据stand-alone?
我发现 Meteor DDP package 指出可以做到这一点。
如何在浏览器中使用它 stand-alone 接收例如collection 更新?
或者您知道浏览器的其他工作 DDP 客户端吗?
例如有 https://github.com/mondora/ddp.js/,一个工作同构(浏览器 & Node.js)DDP 客户端库(我不是这个库的作者,有一些其他具有类似功能的).
您可以轻松连接到任何 DDP 服务器并监听事件。自述文件中有示例和 API 文档。也看看测试。
用法示例:
服务器代码:
Meteor.publish("myPublication", (param_0, param_1, param_2) {
/* ... */
});
客户代码:
const subscriptionId = ddp.sub("myPublication", [param_0, param_1, param_2]);
我推荐 Asteroid,一个用于 Meteor 的 DDP 的客户端包:https://github.com/mondora/asteroid
用法示例:
import {createClass} from "asteroid";
const Asteroid = createClass();
// Connect to a Meteor backend
const asteroid = new Asteroid({
endpoint: "ws://localhost:3000/ websocket"
});
// Use real-time collections
asteroid.subscribe("tasksPublication");
asteroid.ddp.on("added", ({collection, id, fields}) => {
console.log(`Element added to collection ${collection}`);
console.log(id);
console.log(fields);
});
// Login
asteroid.loginWithPassword({username, email, password});
// Call method and use promises
asteroid.call("newUser")
.then(result => {
console.log("Success");
console.log(result);
})
.catch(error => {
console.log("Error");
console.error(error);
});