machineghost machineghost - 1 year ago 61
Javascript Question

Javascript (ES6) Modules: Is it possible to export a variable with a dynamic name?

In ES6 I can export a simple


export const foo = 1;

I can also convert the value of that export (
) to a variable, and export that:

const fooValue = 1;
export foo = fooValue;

But my question is, is there any way I can convert the key of the export (
) in to a variable:

const fooLabel = 'foo';
const fooValue = 1;
export something(fooLabel) = fooValue;

Or do exports always have to explicitly named?

Answer Source

You won't be able to use named exports. It's easy enough to export a single object with dynamically generated keys though:

let obj = {};

obj[fooLabel] = fooValue;

export default obj;