4

我有一个非常简单的脚本,仅用于可用的串行端口,然后连接到一个,编写一个字符并将响应放在控制台上。代码在这里

在我的脚本目录中,我做了:

#npm install serialport
#npm list
 /home/uminded/Programming/nodeJS/test
 └─┬ serialport@1.0.8
   ├── async@0.1.18
     etc...
#node test.js
   spits out entire serialport.js to command line then...
 has no method 'list'
 at Object.<anonymous> (/home/uminded/Programming/nodeJS/test/test.js:4:12)
 at Module._compile (module.js:449:26)
 at Object.Module._extensions..js (module.js:467:10)
 at Module.load (module.js:356:32)
 at Function.Module._load (module.js:312:12)
 at Module.runMain (module.js:492:10)
 at process.startup.processNextTick.process._tickCallback (node.js:244:9)

serialport.js 脚本确实有 SerialPort.list 的导出,为什么找不到它?

另外你们用什么程序来编写和调试节点相关的js?

4

1 回答 1

15

list模块的属性serialport,而不是serialport.SerialPort. 像这样替换第一行:

var serialport = require("serialport");
var SerialPort = serialport.SerialPort;
var util = require("util"), repl = require("repl");

serialport.list(function (err, ports) {
  ports.forEach(function(port) {
    console.log(port.comName);
    console.log(port.pnpId);
    console.log(port.manufacturer);
  });
});
于 2013-01-27T18:53:20.143 回答