我什至无法从相对流行的 @kenjiuno/msgreader 中获取示例代码的第一行用于解析 Outlook .msg 文件。我已经使用 npm 成功安装了模块,我的代码是:
const fs = require('fs')
const MsgReader = require('@kenjiuno/msgreader')
const msgFileBuffer = fs.readFileSync('./test-email.msg')
const testMsg = new MsgReader(msgFileBuffer)
但我收到错误:“MsgReader 不是构造函数”。
MsgReader 的快速控制台日志返回 { default: [Function: MsgReader] }
。我还尝试将其作为函数(没有“new”关键字)来执行,这也产生了错误。
我的代码和示例代码之间的唯一区别是它们使用 import (import MsgReader from '@kenjiuno/msgreader'
) 而我使用了 require,但可能无法使有区别吗?
大家有什么想法吗?
最佳答案
我最终更改了 require 语句以添加 ["default"]
这解决了问题:
const MsgReader = require('@kenjiuno/msgreader')["default"]
我查看了库代码,并根据使用“默认”语法的导出语句进行了猜测。这个问题和commonJS有什么关系吗?如果有人可以向我解释这一点那就太好了!
关于javascript - Node 模块@kenjiuno/msgreader错误: MsgReader is not a constructor的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68757105/