在浏览器中独立连接到 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);
    });