ReferenceError: окно не определено в nodejs - PullRequest
0 голосов
/ 23 октября 2018
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)',

Может кто-нибудь, пожалуйста, помогите мне, как использовать Paho.MQTT в узле js.Спасибо заранее.

1 Ответ

0 голосов
/ 23 октября 2018

Клиент Paho Javascript в настоящее время поддерживается только в браузере.

В настоящее время ведутся работы по его обновлению, чтобы он мог работать в NodeJS, но в настоящий момент он еще не завершен.

Пока выможно использовать библиотеку MQTT.js .Эта библиотека может использоваться как в NodeJS, так и в браузере, и поддерживает собственные MQTT и MQTT через веб-сокеты (при использовании в браузере на MQTT через веб-сокеты можно использовать)

...