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

在Node.js 12.22.5中导入pigpio模块提示require未定义怎么解决?

问题产生原因
  • 你的Node.js运行环境当前启用了ES模块模式,CommonJS规范的require语法在原生ES模块环境下无法被识别。触发该模式一般有两种情况:一是项目根目录的package.json文件里配置了"type": "module"字段,二是你运行的脚本文件后缀为.mjs。
  • 特殊情况排查:如果你是在浏览器环境运行这段代码,浏览器本身就不支持原生require语法,而且pigpio是树莓派专属的硬件控制模块,本身就不能在浏览器环境运行。
解决方法

方案1:适配ES模块模式,改用ES模块导入语法

如果需要保留当前的ES模块配置,把原来的导入代码替换为以下写法即可:

import { Gpio } from 'pigpio';

如果运行提示没有对应导出,可调整为:

import pigpio from 'pigpio';
const Gpio = pigpio.Gpio;

方案2:切回CommonJS模块模式,继续使用require

如果你更习惯用require语法,做任意一项调整就行:

  • 删除项目package.json里的"type": "module"配置项
  • 把你运行的脚本文件后缀从.mjs改成.js

额外注意

运行代码前要先在项目目录执行npm install pigpio完成模块安装,且该模块仅支持在树莓派的Linux系统下运行,其他环境会触发额外报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 21:54:00