ReferenceError:nodejs中未定义窗口

时间:2018-10-23 05:28:04

标签: node.js mqtt paho

var pahoMqtt = require("paho-mqtt");
let client = new Paho.MQTT.Client("serverIp", port, "/ws", "clientId" + Math.round((new Date()).getTime() / 1000));

当我在节点服务器上运行它时,出现以下错误

stack: 
   [ 'ReferenceError: window is not defined',
     '    at LibraryFactory (/var/www/html/btrade/server2/node_modules/paho-mqtt/paho-mqtt.js:2411:4)',
     '    at ExportLibrary (/var/www/html/btrade/server2/node_modules/paho-mqtt/paho-mqtt.js:86:20)',
     '    at Object.<anonymous> (/var/www/html/btrade/server2/node_modules/paho-mqtt/paho-mqtt.js:97:3)',
     '    at Module._compile (module.js:652:30)',
     '    at Module._extensions..js (module.js:663:10)',
     '    at Object.require.extensions.(anonymous function) [as .js] (/var/www/html/btrade/server2/node_modules/babel-register/lib/node.js:152:7)',
     '    at Module.load (module.js:565:32)',
     '    at tryModuleLoad (module.js:505:12)',
     '    at Function.Module._load (module.js:497:3)',
     '    at Module.require (module.js:596:17)',
     '    at require (internal/module.js:11:18)',
     '    at Object.<anonymous> (/var/www/html/btrade/server2/server/controllers/trade.controller.js:25:16)',
     '    at Module._compile (module.js:652:30)',
     '    at loader (/var/www/html/btrade/server2/node_modules/babel-register/lib/node.js:144:5)',
     '    at Object.require.extensions.(anonymous function) [as .js] (/var/www/html/btrade/server2/node_modules/babel-register/lib/node.js:154:7)',

任何人都可以帮助我如何在节点js中使用Paho.MQTT。提前谢谢。

1 个答案:

答案 0 :(得分:0)

当前仅在浏览器中支持Paho Javascript客户端。

正在对其进行更新,以便可以在NodeJS中运行,但目前尚未完成。

现在您可以使用MQTT.js库。该库可以在NodeJS和浏览器中使用,并支持Websockets上的本机MQTT和MQTT(当在Websockets上的MQTT上的浏览器中使用时,可以使用)