我创建了一个新的angular应用程序,并想与mqtt broker一起使用。我正在关注本教程-http://www.davidfindlay.com.au/monitoring-mqtt-services-in-an-angular-web-application/。
我已经通过angular cli安装了ng2-mqtt。
我已经导入
import {Paho} from 'ng2-mqtt/mqttws31';
在我的component.ts中
当我提供服务时,它会成功编译,但是浏览器会抛出错误
mqttws31.js:84 Uncaught ReferenceError: Paho is not defined
at Object../node_modules/ng2-mqtt/mqttws31.js (mqttws31.js:84)
at __webpack_require__ (bootstrap:79)
at Module../src/app/ahu/ahu.component.ts (main.js:104)
at __webpack_require__ (bootstrap:79)
at Module../src/app/app.module.ts (app.component.ts:8)
at __webpack_require__ (bootstrap:79)
at Module../src/main.ts (main.ts:1)
at __webpack_require__ (bootstrap:79)
at Object.0 (main.ts:12)
at __webpack_require__ (bootstrap:79)
任何想法导致错误的原因。
答案 0 :(得分:1)
有类似的问题。按照https://github.com/awslabs/aws-mobile-appsync-sdk-js/issues/76
中的说明解决了该问题只需导航到node_modules中的ng2-mqtt并替换
if (typeof Paho === "undefined") {
Paho = {};
}
与
const Paho = {};
在mqttws31.js