如何使用webshot与流星(How to use webshot with meteor)

2019-10-29 20:58发布

我已经安装webshot包和流星webshot智能包来自: https://github.com/TimHeckel/meteor-webshot

在目录pacages / webshot / LIB / webshot.js有WEBSHOT对象的定义。 在默认的流星应用程序,我想用这个对象来获取快照显示在从上面的链接第二步:

Template.hello.events({
'click input' : function () {
  var _image = "myscreenshot.png";
  var _res =  WEBSHOT.snap("http://google.com", "public/exports~/" + _image, {
    screenSize: {
        width: 300
        , height: 300
      }
    });

}

});

当我按一下按钮我有一个例外:未捕获的ReferenceError:WEBSHOT没有定义。

命令:

流星名单

显示webshot包,我在哪里需要包括这个包得到这个工作?

Answer 1:

WEBSHOT对象仅适用于服务器端。 见在package.js这一行 。

要使用它,你需要在服务器上创建一个方法Meteor.methods ,使用WEBSHOT里面,然后调用从事件处理程序此方法。



Answer 2:

休伯特OG是正确的,这个包是唯一的服务器端。

然而,它并没有被5个月更新一次,所以它看起来像它不是最新与流星的最新的“链接”,这是一个特点,出现在0.6.5如果我记得很清楚。

你需要的git克隆包在本地包目录。 (您可能需要“流星删除”以前的包装和“流星添加”新一)。 然后修改package.js,使它看起来像这样:

Package.on_use(function (api) {
    api.add_files("lib/webshot.js", "server");
    api.export("WEBSHOT","server");
});

从流星0.6.5,你需要明确指定由包符号远销全局命名空间,因为包代码是封闭内执行。



Answer 3:

我有同样的问题,所以我使用最新版本的节点webshot的添加了一个新流星包装: https://atmospherejs.com/bryanmorgan/webshot 。

你应该能够得到它的工作使用:

meteor add bryanmorgan:webshot

然后,相同的API节点webshot:

webshot("http://google.com", "/tmp/google.png", function (err) {
    // screenshot saved to /tmp/google.png
});


文章来源: How to use webshot with meteor