我正在玩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);
}
答案 0 :(得分:0)
看起来你还没有初始化实例!
var pubnub = PUBNUB({
subscribe_key: 'your-sub-key',
publish_key: 'your-pub-key'
});
然后,
pubnub.subscribe({...