TypeError: PUBNUB.init is not a function
TypeError: PUBNUB.init is not a function
我正在使用 Node.js 并且我正在尝试集成 PubNub 以启动我的聊天室并 运行ning。我一直在关注许多教程,它们似乎都从 client-side 中执行 PubNub。但是,为了确保我的 publish-key 和 subscribe-key 的安全,我想让 PubNub 从我的 server-side (Nodejs) 中执行。但是,当我尝试这样做时,问题就发生了。 这是我的服务器:
var express = require('express');
var path = require('path');
var bodyParser = require('body-parser');
var request = require('request');
var pubnub = require('pubnub');
pubnub = pubnub.init({
subscribe_key: 'sub-c-demo',
publish_key: 'pub-c-demo',
ssl: true
});
//Defining routes
var routes = require('./routes/index');
//Init express
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:false}));
//View Engine
app.set('view engine', 'ejs');
//Set Static Folder
app.use(express.static(path.join(__dirname, 'public')));
//Get route
app.use('/', routes);
//Set Port
app.set('port', (process.env.PORT || 3000));
app.listen(app.get('port'), function(){
console.log('3000 is the magic port!!');
});
为什么我尝试初始化 pubnub 时得到 TypeError: pubnub.init is not a function
?
$ node server
/Users/macbookpro/Desktop/project007/server.js:8
var pubnub = pubnub.init({
^
TypeError: pubnub.init is not a function
at Object.<anonymous> (/Users/macbookpro/Desktop/project007/server.js:8:21)
at Module._compile (module.js:573:32)
at Object.Module._extensions..js (module.js:582:10)
at Module.load (module.js:490:32)
at tryModuleLoad (module.js:449:12)
at Function.Module._load (module.js:441:3)
at Module.runMain (module.js:607:10)
at run (bootstrap_node.js:382:7)
at startup (bootstrap_node.js:137:9)
at bootstrap_node.js:497:3
我遵循了所有必要的步骤:
npm i pubnub --save
var pubnub = require('pubnub');
https://cdn.pubnub.com/sdk/javascript/pubnub.4.4.2.min.js
(在我的 header 中包含了最新的 sdk)
但是似乎某处有错误导致我对该错误以及其他一些事情感到困惑。
1). 我一直在将所有三个教程拼凑在一起,但我应该真正遵循哪些教程?
https://www.pubnub.com/docs/nodejs/pubnub-javascript-sdk-v4
https://www.pubnub.com/docs/javascript/pubnub-javascript-sdk-v4
2). 我的 publish-key 和 subscribe-key 是否需要保护,或者我可以简单地 运行 来自我的 [=56= 的 PubNub ] 如大多数教程所示?
3). 忘记 server-side 和客户端,我应该将 PubNub 作为 javascript 文件执行并链接脚本吗? <script src="js/pubnubchatroom.js"></script>
我是这方面的新手,我只是想全神贯注。提前致谢!
PubNub V4 SDK NodeJS 新 Init
有一种初始化 PubNub SDK 的新方法。请参见以下示例。 v4 SDK 不 drop-in 兼容。您可以成功地在环境之间混合使用 v4 和 v3 SDK。
const PubNub = require('pubnub');
const pubnub = new PubNub({
publishKey : 'demo',
subscribeKey : 'demo'
})
- 关注https://www.pubnub.com/docs/nodejs/pubnub-javascript-sdk-v4
- pub/sub 键可以暴露。 永远不要暴露你的密钥。
- PubNub 在这方面与任何策略兼容。
我正在使用 Node.js 并且我正在尝试集成 PubNub 以启动我的聊天室并 运行ning。我一直在关注许多教程,它们似乎都从 client-side 中执行 PubNub。但是,为了确保我的 publish-key 和 subscribe-key 的安全,我想让 PubNub 从我的 server-side (Nodejs) 中执行。但是,当我尝试这样做时,问题就发生了。 这是我的服务器:
var express = require('express');
var path = require('path');
var bodyParser = require('body-parser');
var request = require('request');
var pubnub = require('pubnub');
pubnub = pubnub.init({
subscribe_key: 'sub-c-demo',
publish_key: 'pub-c-demo',
ssl: true
});
//Defining routes
var routes = require('./routes/index');
//Init express
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:false}));
//View Engine
app.set('view engine', 'ejs');
//Set Static Folder
app.use(express.static(path.join(__dirname, 'public')));
//Get route
app.use('/', routes);
//Set Port
app.set('port', (process.env.PORT || 3000));
app.listen(app.get('port'), function(){
console.log('3000 is the magic port!!');
});
为什么我尝试初始化 pubnub 时得到 TypeError: pubnub.init is not a function
?
$ node server
/Users/macbookpro/Desktop/project007/server.js:8
var pubnub = pubnub.init({
^
TypeError: pubnub.init is not a function
at Object.<anonymous> (/Users/macbookpro/Desktop/project007/server.js:8:21)
at Module._compile (module.js:573:32)
at Object.Module._extensions..js (module.js:582:10)
at Module.load (module.js:490:32)
at tryModuleLoad (module.js:449:12)
at Function.Module._load (module.js:441:3)
at Module.runMain (module.js:607:10)
at run (bootstrap_node.js:382:7)
at startup (bootstrap_node.js:137:9)
at bootstrap_node.js:497:3
我遵循了所有必要的步骤:
npm i pubnub --save
var pubnub = require('pubnub');
https://cdn.pubnub.com/sdk/javascript/pubnub.4.4.2.min.js
(在我的 header 中包含了最新的 sdk)
但是似乎某处有错误导致我对该错误以及其他一些事情感到困惑。
1). 我一直在将所有三个教程拼凑在一起,但我应该真正遵循哪些教程?
https://www.pubnub.com/docs/nodejs/pubnub-javascript-sdk-v4
https://www.pubnub.com/docs/javascript/pubnub-javascript-sdk-v4
2). 我的 publish-key 和 subscribe-key 是否需要保护,或者我可以简单地 运行 来自我的 [=56= 的 PubNub ] 如大多数教程所示?
3). 忘记 server-side 和客户端,我应该将 PubNub 作为 javascript 文件执行并链接脚本吗? <script src="js/pubnubchatroom.js"></script>
我是这方面的新手,我只是想全神贯注。提前致谢!
PubNub V4 SDK NodeJS 新 Init
有一种初始化 PubNub SDK 的新方法。请参见以下示例。 v4 SDK 不 drop-in 兼容。您可以成功地在环境之间混合使用 v4 和 v3 SDK。
const PubNub = require('pubnub');
const pubnub = new PubNub({
publishKey : 'demo',
subscribeKey : 'demo'
})
- 关注https://www.pubnub.com/docs/nodejs/pubnub-javascript-sdk-v4
- pub/sub 键可以暴露。 永远不要暴露你的密钥。
- PubNub 在这方面与任何策略兼容。