You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建SerialPort时遇路径未定义错误及构造函数问题求助

解决SerialPort创建时"path"未定义的错误

问题分析

你遇到的TypeError: "path" is not defined: undefined错误,大概率是SerialPort版本的API差异导致的——部分新版本对构造函数的参数格式要求更严格,或者导入方式不匹配当前版本。

解决方案

方案1:将路径放入配置对象中

修改SerialPort的实例化代码,把端口路径作为配置对象的path属性传入,而非单独作为第一个参数:

const { SerialPort }= require('serialport')
const Readline = require('@serialport/parser-readline');

const port = new SerialPort({ 
  path: '/dev/ttyACM0', 
  baudRate: 9600 
});

port.write('hello from node\n', (err) => {
    if (err) {
      return console.log('Error on write: ', err.message);
    }
    console.log('msg written')
});

方案2:调整导入方式

如果出现SerialPort不是构造函数的错误,说明解构导入可能不匹配当前版本,改用默认导入:

const SerialPort = require('serialport')
const { Readline } = require('@serialport/parser-readline');

const port = new SerialPort({ 
  path: '/dev/ttyACM0', 
  baudRate: 9600 
});

port.write('hello from node\n', (err) => {
    if (err) {
      return console.log('Error on write: ', err.message);
    }
    console.log('msg written')
});

额外检查

  • 执行npm list serialport查看当前安装的版本,对应官方文档确认API用法
  • 确保端口权限:执行sudo chmod 666 /dev/ttyACM0赋予读写权限,避免后续写入失败

内容的提问来源于stack exchange,提问作者TheDNAHero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 22:42:21