Meteor客户端外部Javascript文件问题

时间:2015-07-08 19:07:55

标签: javascript meteor external

我正在玩pubnub和Meteor,我指的是客户端外部js文件并收到错误。

我的代码如下。服务器端运行良好,但客户端收到错误。 “未捕获的TypeError:无法读取未定义的属性'$'”

我在nodejs中运行良好,但希望让它在Meteor中运行。我已经把头发拉了一会儿,谢谢。

if (Meteor.isClient) {

  // counter starts at 0
  Session.setDefault('counter', 0);

  Template.hello.helpers({
    counter: function () {
      return Session.get('counter');
    }
  });

  Template.hello.events({
    'click button': function () {
      // increment the counter when button is clicked
      Session.set('counter', Session.get('counter') + 1);
    }
  });

  Template.hello.rendered = function(){

    $.getScript("http://cdn.pubnub.com/pubnub.min.js", function() {
    //callbcak function
      (function(){
        var output = PUBNUB.$('output');
        PUBNUB.subscribe({

          channel: 'my_channel',
          callback: function(message){
            output.innerHTML += message;
          }
        })
      })();
    })
  };

}

if (Meteor.isServer) {
  Meteor.startup(function () {
    // code to run on server at startup
  });

  var PUBNUB = Meteor.require('pubnub').init({});

  setInterval(function() {
    PUBNUB.publish({
      channel: 'my_channel',
      message: 'hello SMB'
    });
  }, 1000);
}

1 个答案:

答案 0 :(得分:0)

看起来你还没有初始化实例!

var pubnub = PUBNUB({
    subscribe_key: 'your-sub-key',
    publish_key: 'your-pub-key' 
});

然后,

pubnub.subscribe({...