我正在尝试创建一个GUI,该GUI通过串行端口与xBee设备通信。我正在使用Angular框架,因此可以在https://www.npmjs.com/package/xbee-rx此处包含nodejs xbee-rx库。
当我尝试在angular组件中导入和实例化xBee类时,通过此消息,它给我串行端口节点/模块带来了问题。
ERROR in ./node_modules/serialport/lib/bindings/linux-list.js
Module not found: Error: Can't resolve 'child_process' in 'C:\Users\Robert B\Desktop\dispFinal\displayProjFinal\node_modules\serialport\lib\bindings'
ERROR in ./node_modules/bindings/bindings.js
以及有关“ fs”,“ path”和“ stream”的类似消息。
我正在将此库用于xbee:https://www.npmjs.com/package/xbee-rx
我看过其他有类似错误的人,例如这篇文章:
Using SerialPort in Electron with Angular fails at build
但是那里提供的解决方案没有帮助,因为我将xBee与serialPort一起使用。
这是尝试导入xBee文件的应用程序组件。
import { Component } from '@angular/core';
import xbeeRx from 'xbee-rx';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'displayProjFinal';
xbee;
constructor() {
this.xbee = xbeeRx({
serialport: '/dev/ttyUSB0',
serialPortOptions: {
baudRate: 57600
},
module: "ZigBee"
});
}
}
我知道:
xbee-rx取决于串行端口:https://www.npmjs.com/package/serialport
serialport及其依赖项由于Angular 6+的处理动态包的方式而出现问题
通过执行Angular(5)-Electron Serialport Support中所示的技巧可以自行修复B,但是我无法将其扩展到由Serialport本身调用的node_modules中。我想知道Angular在这方面是否是一个死胡同,是否应该尝试vue或做出反应以跳过打字稿-> javascript编译问题。
要重新创建:
使用ng-new创建一个角度应用。
npm install xbee-rx
尝试将其放入角度分量