以下模块是我想什么(在节点运行前使用通天transpile我的代码)使用函数生成将从ES6模块导出一个普通的对象使...
module_a
function generatePlainObject(param1, param2, param3) {
return {
newProp1: param1,
newProp2: param2,
newProp3: param3,
};
}
export generatePlainObject(1, 2, 3);
......这样我就可以在另一个模块使用import { newProp1, newProp2, newProp3 } from 'module_a'
,并轻松访问属性。
但是这会引发错误(unexpected token
)。
我已经尝试使用传播运算符(...
),并使用Object.assign({}, funcResults)
并在导出前将其存储在const
中,但它们都弹出错误。
这甚至有可能吗?我误解了我可以导出哪种对象?我是否必须显式输出普通对象并包含它的属性?
任何帮助表示赞赏。
您正在使用哪种JavaScript环境并支持'export'? – zzzzBov
ES6导入和导出是静态的,它们应该是静态分析的。有没有办法阻止你将这个对象导出为默认导出?您可以使用CJS模块执行动态导出。 – estus
'export {a,b,c};'不是对象表达式,它是要导出的名称列表,因此不能用任意表达式替换它。 – loganfsmyth