以下模塊是我想什麼(在節點運行前使用通天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