我创建的班级未导出对象

mal*_*dro 0 javascript class object

我需要在文件ShoppingCart.js中创建类ShoppingCart并将其导出到测试文件,但出现错误,提示我的类不是构造函数

我知道问题不在导入导出中,因为在创建js文件之前,我得到了找不到模块的错误。我还尝试在文件中创建该类的新实例,并且该方法有效

file ShoppingCart.js
class ShoppingCart{
    constructor(name){
        this.name=name
    }
}

module.exports = { ShoppingCart}
Run Code Online (Sandbox Code Playgroud)

我的测试文件的代码是

 const ShoppingCart = require("./ShoppingCart")
 new ShoppingCart()
Run Code Online (Sandbox Code Playgroud)

当我运行测试文件时,我得到

TypeError: ShoppingCart is not a constructor
Run Code Online (Sandbox Code Playgroud)

Cer*_*nce 5

您当前正在导出具有以下属性的对象ShoppingCart

module.exports = { ShoppingCart }
//               ^^   object   ^^
Run Code Online (Sandbox Code Playgroud)

只需导出ShoppingCart

module.exports = ShoppingCart;
Run Code Online (Sandbox Code Playgroud)

或者,在导入时,请引用ShoppingCart对象的属性:

const { ShoppingCart } = require("./ShoppingCart")
Run Code Online (Sandbox Code Playgroud)