如何在另一个 node.js 文件中调用 class

How to call a class in another node.js file

我有 2 个文件。一个是 car.js

class Car {
  constructor(owner){
    this.owner = owner;
  }
  drive(){
    console.log("Vroom Vroom");
  }
}

另一个是 race.js 我想从中创建 Car 对象。我试过了:

car1 = new Car("Rick Astley");
car1.drive();

但我一直收到这样的错误

ReferenceError: Car is not defined

我应该对我的代码进行哪些更改?

(两个文件在同一个目录)

首先您需要从第一个文件中导出汽车。有多种方法可以做到这一点,例如你可以这样做

export default class Car{
  // Your code here
}

然后在你的第二个文件中,你必须导入 Car 对象:

import Car from ./car;

car1 = new Car("Rick Astley");
car1.drive();

感谢 Sebastian Simon 在评论中提供的解决方案。我只是想我会让它成为一个正式的答案。

将car.js改为

class Car {
  constructor(owner){
    this.owner = owner;
  }
  drive(){
    console.log("Vroom Vroom");
  }
}
module.exports = Car;  // Added this

和race.js到

const Car = require('./Car.js')  // Added this
car1 = new Car("Rick Astley");
car1.drive();

再次感谢大家的帮助:)