我在win 7上运行,并已将nodeJS安装为路径变量。
我安装了nodeJs模块(pusher):
运行我的脚本时,我得到:
require('pusher-client')
var API_KEY = 'cb65d0a7a72cd94adf1f'
var pusher = new Pusher(API_KEY);
var channel = pusher.subscribe("ticker.160");
channel.bind("message", function(data) {
console.log(data);
var topbuy = data.trade.topbuy;
console.log("Price: ", topbuy.price,
"Quantity:", topbuy.quantity,
"Timestamp:", data.trade.timestamp);
});
错误消息:
$ node pusher.js
c:\xampp\htdocs\projects\psher\node_modules\pusher.js:9
var pusher = new Pusher(API_KEY);
^
ReferenceError: Pusher is not defined
at Object.<anonymous> (c:\xampp\htdocs\projects\psher\node_mo
dules\pusher.js:9:18)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
我以为require("insert node_module")
认为libary是由nodeJS加载的,可以用吗?
任何建议我做错了什么?
感谢您的回答!
答案 0 :(得分:2)
您想要保存require命令的返回值 - 这将是推送器模块的导出。如果pusher导出构造函数,你只想写:
var Pusher = require('pusher-client');
然后应该按照您尝试的方式定义Pusher并使其可用。 (顺便说一句,我从链接的推动模块自述文件中复制了该行)
(另外:不要依赖行末尾的自动分号插入,这是不好的做法。)