使用Node.js的Pdfreader模块读取PDF时出现导入语句错误
解决Node.js使用Pdfreader时的ES模块语法错误
错误原因
Node.js默认将.js文件视为CommonJS模块,而你在代码中使用了ES模块的import语法,导致触发该报错。
解决方案
有两种方法可以解决这个问题:
方法一:修改package.json配置
打开项目根目录的package.json,添加"type": "module"字段,示例如下:{ "name": "你的项目名称", "type": "module", "dependencies": { "pdfreader": "^3.0.2" } }保存后重新运行
node index.js即可。方法二:修改文件后缀为.mjs
将你的index.js重命名为index.mjs,然后通过node index.mjs命令运行,Node.js会自动识别该文件为ES模块。
代码修正提示
你的代码里还有两处小问题需要调整:
- 错误处理中
console.log(error)应为console.log(err),参数名要对应; - 文本输出时
item.txt应为item.text,匹配Pdfreader返回的属性名。
修正后的代码:
import { PdfReader } from "pdfreader"; new PdfReader().parseFileItems("600067301-2024-04-03.pdf", (err, item) => { if (err) console.log(err); else if (!item) console.warn("文件读取完毕"); else if (item.text) console.log(item.text); });
内容的提问来源于stack exchange,提问作者Zayan Anwar
相关产品推荐
相关产品推荐

