Reason for node module @kenjiuno/msgreader error: MsgReader is not a constructor
Reason for node module @kenjiuno/msgreader error: MsgReader is not a constructor
我什至无法从相对流行的 @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 returns { default: [Function: MsgReader] }
的快速控制台日志。我也尝试将它作为一个函数(没有 'new' 关键字)来做,这也产生了一个错误。
我的代码和示例代码之间的唯一区别是它们使用 import (import MsgReader from '@kenjiuno/msgreader'
) 而我使用的是 require,但大概不会有什么不同吧?
有什么想法吗?
我最终更改了 require 语句以添加 ["default"]
解决了问题:
const MsgReader = require('@kenjiuno/msgreader')["default"]
我查看了库代码并根据使用 'default' 语法的导出语句进行了猜测。这个问题与commonJS有关吗?如果有人能给我解释一下就好了!
我什至无法从相对流行的 @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 returns { default: [Function: MsgReader] }
的快速控制台日志。我也尝试将它作为一个函数(没有 'new' 关键字)来做,这也产生了一个错误。
我的代码和示例代码之间的唯一区别是它们使用 import (import MsgReader from '@kenjiuno/msgreader'
) 而我使用的是 require,但大概不会有什么不同吧?
有什么想法吗?
我最终更改了 require 语句以添加 ["default"]
解决了问题:
const MsgReader = require('@kenjiuno/msgreader')["default"]
我查看了库代码并根据使用 'default' 语法的导出语句进行了猜测。这个问题与commonJS有关吗?如果有人能给我解释一下就好了!