gpt4 book ai didi

node.js - 如何在node项目中使用babel编译的类?

转载 作者:太空宇宙 更新时间:2023-11-04 00:42:39 24 4
gpt4 key购买 nike

这是一个非常简单的类,我正在测试用 es2015 编写的:

"use strict";

class Car {
constructor(color) {
this.color = color;
}
}

export default Car;

我使用 babel-cli 来转译该类,以便它可以在 Node 中使用...这是输出:

"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;

在我的 Node 项目中,我包含该模块,如下所示:

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

但是当我执行以下操作时,我收到“汽车不是函数”错误:

var blueCar = new Car('blue');

我正在运行 Node v5.8,如果这在这种情况下有影响的话?

最佳答案

1) 您可以从 ES 中的模块导入默认值并转译它们:

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

2) 您可以导出 Car 类、转译和 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');

关于node.js - 如何在node项目中使用babel编译的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36046817/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com