从 ES5 中的多个模块重新导出
Re-exporting from multiple modules in ES5
我有 index.js 以下代码在客户端上运行良好,重新导出在其他三个模块中定义的函数:
export * from './validators';
export * from './comparators';
export * from './transforms';
但我想在 NodeJS 中使用这些。至少,我们当前的版本似乎不知道这种 ES6 语法。我知道,在定义函数的模块中,如何使用
导出它们
module.exports = {
func1,
func2
}
但是在重新导出模块中使用的相应语法是什么?
一个简单但有效的解决方案是
Object.assign(module.exports,
require('./validators'),
require('./comparators'),
require('./transforms'),
);
这与ES6 类似,但不支持导出成员的更新。要获得更接近的近似值,您需要使用吸气剂或代理。
当然有一个很好的选择:只需编写 ES6 语法并使用知道如何将其正确转换为 ES5 的转译器!
感谢@Bergi,该解决方案奏效了。我也刚刚计算出以下几乎相同的版本,但我的版本有更多的输入:
const validators = require('./validators');
const comparators = require('./comparators');
const transforms = require('./transforms');
module.exports = {
...validators,
...comparators,
...transforms
};
我有 index.js 以下代码在客户端上运行良好,重新导出在其他三个模块中定义的函数:
export * from './validators';
export * from './comparators';
export * from './transforms';
但我想在 NodeJS 中使用这些。至少,我们当前的版本似乎不知道这种 ES6 语法。我知道,在定义函数的模块中,如何使用
导出它们module.exports = {
func1,
func2
}
但是在重新导出模块中使用的相应语法是什么?
一个简单但有效的解决方案是
Object.assign(module.exports,
require('./validators'),
require('./comparators'),
require('./transforms'),
);
这与ES6 类似,但不支持导出成员的更新。要获得更接近的近似值,您需要使用吸气剂或代理。
当然有一个很好的选择:只需编写 ES6 语法并使用知道如何将其正确转换为 ES5 的转译器!
感谢@Bergi,该解决方案奏效了。我也刚刚计算出以下几乎相同的版本,但我的版本有更多的输入:
const validators = require('./validators');
const comparators = require('./comparators');
const transforms = require('./transforms');
module.exports = {
...validators,
...comparators,
...transforms
};