这是一个非常简单的类,我正在测试在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");
但是当我做以下操作时,我得到一个“汽车不是功能”错误:
var blueCar = new Car('blue');
如果在这种情况下有所不同,我正在运行节点v5.8吗?
答案 0 :(得分:1)
1)您可以从ES中的模块import
默认并转换它们:
import Car from 'js-models/lib/Car';
let blueCar = new Car('blue');
2)您可以导出Car
类,transile和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');