如何在节点项目中使用babel编译的类?

这是一个非常简单的课程,我正在testing在es2015中编写的:

"use strict"; class Car { constructor(color) { this.color = color; } } export default Car; 

我用babel-cli来传输那个类,所以它可以在节点中使用…这是输出:

 "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var Car = function Car(color) { _classCallCheck(this, Car); this.color = color; }; exports.default = Car; 

在我的节点项目中,我包含这样的模块:

 var Car = require("js-models/lib/Car"); 

但是当我做到以下我得到一个“车不是一个function”的错误:

 var blueCar = new Car('blue'); 

我正在运行节点v5.8,如果这在这种情况下有所作为?

1)您可以从ES中的模块import默认值,并将其传输:

 import Car from 'js-models/lib/Car'; let blueCar = new Car('blue'); 

2)你可以出口Car类,transpile,并require

 // module js-models/lib/Car "use strict"; export class Car { constructor(color) { this.color = color; } } // node project var Car = require("js-models/lib/Car").Car; var blueCar = new Car('blue');