从ES5中的多个模块重新导出

问题描述 投票:0回答:1

我拥有带有以下代码的index.js,该代码在客户端上运行良好,重新导出在其他三个模块中定义的功能:

export * from './validators';
export * from './comparators';
export * from './transforms';

但是我想在NodeJS中使用它们。至少我们当前的版本似乎不知道此ES6语法。我知道,在定义功能的模块中,如何使用

导出它们
module.exports = {
    func1,
    func2
}

但是重新导出模块中使用的对应语法是什么?

ecmascript-5 es6-modules es5-compatiblity
1个回答
0
投票

一个简单但有效的解决方案是

Object.assign(module.exports,
    require('./validators'),
    require('./comparators'),
    require('./transforms'),
);

这与ES6相似,但不支持更新导出的成员。为了更近似,您需要使用getter或代理。

当然,还有一个不错的选择:只需编写ES6语法并使用知道如何正确将其翻译为ES5的编译器!

© www.soinside.com 2019 - 2024. All rights reserved.